Skip to content

Commit 9c0222d

Browse files
authored
Merge pull request #837 from quietust/5112
Update structures for 51.12
2 parents f48fd9e + bd9ef39 commit 9c0222d

10 files changed

Lines changed: 149 additions & 11 deletions

df.adventure.xml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -239,6 +239,16 @@
239239
<pointer name='invitem' type-name='unit_inventory_item'/>
240240
</class-type>
241241

242+
<class-type type-name='adventure_item_interact_unnockst' inherits-from='adventure_optionst'>
243+
<pointer name='item' type-name='item'/>
244+
<pointer name='invitem' type-name='unit_inventory_item'/>
245+
</class-type>
246+
247+
<class-type type-name='adventure_item_interact_load_ranged_weaponst' inherits-from='adventure_optionst'>
248+
<pointer name='shooter' type-name='item'/>
249+
<pointer name='weapon' type-name='item'/>
250+
</class-type>
251+
242252
<class-type type-name='adventure_item_interact_give_namest' inherits-from='adventure_optionst'>
243253
<pointer name='item' type-name='item'/>
244254
</class-type>
@@ -443,6 +453,7 @@
443453
<int32_t name='target' ref-target='unit'/>
444454
<pointer type-name='item' name='weapon'/>
445455
<pointer type-name='item' name='ammo'/>
456+
<bool name='aim_carefully'/>
446457
</class-type>
447458

448459
<class-type type-name='adventure_movement_shoot_tilest' inherits-from='adventure_movement_optionst'>
@@ -455,6 +466,7 @@
455466
<bool name='from_direct_click'/>
456467
<int32_t name='target' ref-target='unit'/>
457468
<pointer type-name='item' name='item'/>
469+
<bool name='aim_carefully'/>
458470
</class-type>
459471

460472
<class-type type-name='adventure_movement_throw_item_at_tilest' inherits-from='adventure_movement_optionst'>

df.creature.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -664,6 +664,8 @@
664664
<stl-vector name='dye_color_iuse_palette_rowndex' type-name='int32_t'/>
665665

666666
<int32_t name='use_standard_nex_body_palette_row'/>
667+
668+
<stl-string name='use_color_palette_token'/>
667669
</struct-type>
668670

669671
<bitfield-type type-name='creature_graphics_layer_set_flag' base-type='uint64_t'> bay12: CREATURE_GRAPHICS_LAYER_SET_FLAG_*

df.d_basics.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1997,6 +1997,22 @@
19971997
<item-attr name='tag' value='stopleadanimal'/>
19981998
<item-attr name='group' value='All'/>
19991999
</enum-item>
2000+
<enum-item name='LoadRangedWeapon'>
2001+
<item-attr name='tag' value='loadrangedweapon'/>
2002+
<item-attr name='group' value='All'/>
2003+
</enum-item>
2004+
<enum-item name='ShootRangedWeapon'>
2005+
<item-attr name='tag' value='shootrangedweapon'/>
2006+
<item-attr name='group' value='All'/>
2007+
</enum-item>
2008+
<enum-item name='ThrowItem'>
2009+
<item-attr name='tag' value='throwitem'/>
2010+
<item-attr name='group' value='All'/>
2011+
</enum-item>
2012+
<enum-item name='PostShootRecovery'>
2013+
<item-attr name='tag' value='postshootrecovery'/>
2014+
<item-attr name='group' value='All'/>
2015+
</enum-item>
20002016
</enum-type>
20012017

20022018
<enum-type type-name='misc_trait_type' base-type='int32_t'> bay12: CounterType
@@ -2093,6 +2109,7 @@
20932109
<enum-item name='DidInteractionAnnouncementReduceDizzness'/>
20942110
<enum-item name='HaveCheckedFavorDodge'/>
20952111
<enum-item name='DidStrainExhaustionKO'/>
2112+
<enum-item name='CombatSeekAmmo'/>
20962113
</enum-type>
20972114

20982115
<enum-type type-name='charge_restrict_type' base-type='int32_t'> bay12: ChargeRestrictType
@@ -4073,6 +4090,7 @@
40734090
<enum-item name='SeekHeistHandoff'/>
40744091
<enum-item name='AdventureAutomove'/>
40754092
<enum-item name='AdventureAutomoveAcrobatic'/>
4093+
<enum-item name='ArcherReposition'/>
40764094
</enum-type>
40774095

40784096
-- Unused: BuildPathResult

df.d_interface.xml

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1371,6 +1371,29 @@
13711371

13721372
<ulong name='last_tick_update'/>
13731373

1374+
<bool name='setting_ammo'/>
1375+
<int32_t name='setting_ammo_squad_id' ref-target='squad'/>
1376+
<int32_t name='setting_ammo_scroll_position'/>
1377+
<bool name='setting_ammo_scrolling'/>
1378+
<stl-string name='setting_ammo_amount_str'/>
1379+
<bool name='setting_ammo_entering_amount'/>
1380+
<bool name='setting_ammo_mat'/>
1381+
<int32_t name='setting_ammo_mat_sea_index'/>
1382+
<stl-vector type-name='entity_material_category' name='am_cand_civ_mat'/>
1383+
<stl-vector type-name='int16_t' name='am_cand_spec_mat'/>
1384+
<stl-vector type-name='int32_t' name='am_cand_spec_matg'/>
1385+
<bool name='setting_ammo_new_type'/>
1386+
<stl-vector type-name='int16_t' name='am_cand_type'/>
1387+
<stl-vector type-name='int32_t' name='am_cand_subtype'/>
1388+
<stl-bit-vector name='am_cand_foreign'/>
1389+
<int32_t name='setting_ammo_scroll_position_am'/>
1390+
<bool name='setting_ammo_scrolling_am'/>
1391+
1392+
<bool name='setting_supplies'/>
1393+
<stl-vector type-name='int32_t' name='setting_supplies_squad_id' ref-target='squad'/>
1394+
<int32_t name='setting_supplies_scroll_position'/>
1395+
<bool name='setting_supplies_scrolling'/>
1396+
13741397
<bool name='customizing_equipment'/>
13751398
<int32_t name='customizing_squad_id'/>
13761399
<int32_t name='customizing_squad_pos'/>
@@ -2721,12 +2744,6 @@
27212744
<stl-vector pointer-type='entity_uniform' name='cand_uniform'/>
27222745
</struct-type>
27232746

2724-
<struct-type type-name='squad_supplies_interfacest'>
2725-
<bool name='open'/>
2726-
2727-
<int32_t name='squad_id'/>
2728-
</struct-type>
2729-
27302747
<struct-type type-name='create_squad_interfacest'>
27312748
<bool name='open'/>
27322749

@@ -4924,8 +4941,16 @@
49244941
<pointer type-name='item' name='shooter_it'/>
49254942
<pointer type-name='item' name='ammo_it'/>
49264943
<pointer type-name='item' name='thrown_it'/>
4944+
<bool name='show_no_prepped_ammo_warning'/>
49274945

49284946
<stl-vector name='projectile_target_list' pointer-type='projectile_target_list_optionst'/>
4947+
4948+
<bool name='aiming_carefully'/>
4949+
<pointer name='target_unit' type-name='unit'/>
4950+
<int32_t name='scroll_position_aim_target'/>
4951+
<bool name='scrolling_aim_target'/>
4952+
4953+
<bool name='came_from_direct_click'/>
49294954
</struct-type>
49304955

49314956
<struct-type type-name='adventure_interface_lookst'>
@@ -5330,7 +5355,6 @@
53305355
<compound name='info' type-name='info_interfacest'/>
53315356
<compound name='squads' type-name='squads_interfacest'/>
53325357
<compound name='create_squad' type-name='create_squad_interfacest'/>
5333-
<compound name='squad_supplies' type-name='squad_supplies_interfacest'/>
53345358
<compound name='assign_uniform' type-name='assign_uniform_interfacest'/>
53355359
<compound name='create_work_order' type-name='create_work_order_interfacest'/>
53365360
<compound name='hotkey' type-name='hotkeys_interfacest'/>

df.g_src.keybindings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -358,6 +358,7 @@
358358
<enum-item name='MULTI_ATTACK'/>
359359
<enum-item name='A_LOOK'/>
360360
<enum-item name='A_SEARCH'/>
361+
<enum-item name='A_NOCK'/>
361362
<enum-item name='A_ODOR'/>
362363
<enum-item name='A_DISPLAY_ODOR'/>
363364
<enum-item name='A_YIELD'/>

df.item.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2409,6 +2409,8 @@
24092409
<stl-vector name='temp_save' has-bad-pointers='true' pointer-type='item'/>
24102410

24112411
<stl-vector name='temp_save_compat' type-name='int32_t'/>
2412+
2413+
<stl-unordered-map name='deleters' comment='std::unordered_set&lt;df::item *&gt;'/>
24122414
</struct-type>
24132415

24142416
<enum-type type-name='artifact_flags'> bay12: ArtifactFlagType

df.itemdef.xml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -166,6 +166,12 @@
166166
<enum-item name='TRAINING'/>
167167
</enum-type>
168168

169+
<enum-type type-name='weapon_load_type' base-type='int32_t'> bay12: WeaponLoadType
170+
<enum-item name='NONE' value='-1'/>
171+
<enum-item name='NOCKED'/>
172+
<enum-item name='LOADED'/>
173+
</enum-type>
174+
169175
<class-type type-name='itemdef_weaponst' inherits-from='itemdef'
170176
instance-vector='$global.world.raws.itemdefs.weapons'>
171177
<stl-string name="name"/>
@@ -182,7 +188,19 @@
182188
<df-flagarray name='flags' index-enum='weapon_flags'/>
183189
<stl-vector name="attacks" pointer-type='weapon_attack'/>
184190
<int32_t name="shoot_force"/>
191+
<stl-vector type-name='physical_attribute_type' name='shot_force_phys_att'/>
192+
<stl-vector type-name='int32_t' name='shot_force_phys_att_val'/>
193+
<stl-vector type-name='mental_attribute_type' name='shot_force_ment_att'/>
194+
<stl-vector type-name='int32_t' name='shot_force_ment_att_val'/>
195+
<stl-vector type-name='job_skill' name='shot_force_skill'/>
196+
<stl-vector type-name='int32_t' name='shot_force_skill_val'/>
185197
<int32_t name="shoot_maxvel"/>
198+
<enum type-name='weapon_load_type' name='load_type'/>
199+
<int32_t name='aim_difficulty'/>
200+
<int32_t name='beginner_load_time'/>
201+
<int32_t name='advanced_load_time'/>
202+
<int32_t name='initiate_shot_time'/>
203+
<int32_t name='shot_recovery_time'/>
186204
<static-array name='texpos' type-name='int32_t' count='28'/>
187205
<stl-vector name='graphics_info' pointer-type='itemdef_weapon_graphics_infost'/>
188206
</class-type>

df.job.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1414,6 +1414,10 @@
14141414
<item-attr name='caption' value='No Activity'/>
14151415
<item-attr name='type' value='Crime'/>
14161416
</enum-item>
1417+
<enum-item name='StoreSquadEquipmentItem'>
1418+
<item-attr name='caption' value='Store Squad Equipment Item'/>
1419+
<item-attr name='type' value='Hauling'/>
1420+
</enum-item>
14171421
</enum-type>
14181422

14191423
<bitfield-type type-name='job_flags' base-type='uint32_t'> bay12: JOBFLAG_*

df.proj.xml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
<flag-bit name='has_hit_ground' comment='DELETE'/>
1111
<flag-bit name='bouncing'/>
1212
<flag-bit name='high_flying'/>
13-
1413
<flag-bit name='piercing'/>
1514
<flag-bit name='to_be_deleted'/>
1615
<flag-bit name='hits_friends'/>
@@ -24,6 +23,8 @@
2423
<flag-bit name='struck'/>
2524
<flag-bit name='auto_hit'/>
2625
<flag-bit name='item_link_deleted'/>
26+
27+
<flag-bit name='small_aim_minus'/>
2728
</bitfield-type>
2829

2930
<df-linked-list-type type-name='proj_list_link' item-type='projectile'/>
@@ -57,6 +58,8 @@
5758
<int32_t name="last_knock_item" ref-target='item'/>
5859
<int32_t name="last_knock_unit" ref-target='unit'/>
5960
<int32_t name="spec_target_unit" ref-target='unit' since='v0.40.01' comment='uninitialized+saved'/>
61+
<int16_t name='target_bp'/>
62+
<int32_t name='hit_chance_modifier'/>
6063

6164
<int32_t name="pos_x"/>
6265
<int32_t name="pos_y"/>

df.unit.xml

Lines changed: 57 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1096,6 +1096,56 @@
10961096
<int32_t name='fatigue'/>
10971097
</struct-type>
10981098

1099+
<bitfield-type type-name='unit_move_load_ranged_weapon_flag' base-type='uint32_t'> bay12: UNIT_MOVE_LOAD_RANGED_WEAPON_FLAG_*
1100+
<flag-bit name='then_shoot'/>
1101+
<flag-bit name='playcombat'/>
1102+
</bitfield-type>
1103+
1104+
<struct-type type-name='unit_action_data_load_ranged_weapon' original-name='unit_move_load_ranged_weaponst'>
1105+
<int32_t name='movewait'/>
1106+
<int32_t name='shooter_itid' ref-target='item'/>
1107+
<int32_t name='ammo_itid' ref-target='item'/>
1108+
<bitfield name='flags' base-type='uint32_t' type-name='unit_move_load_ranged_weapon_flag'/>
1109+
<int32_t name='target_unid' ref-target='unit'/>
1110+
<int16_t name='target_lx'/>
1111+
<int16_t name='target_ly'/>
1112+
<int16_t name='target_lz'/>
1113+
<int16_t name='target_bp'/>
1114+
<int32_t name='target_bp_hit_chance_adjustment'/>
1115+
</struct-type>
1116+
1117+
<bitfield-type type-name='unit_move_shoot_ranged_weapon_flag' base-type='uint32_t'> bay12: UNIT_MOVE_SHOOT_RANGED_WEAPON_FLAG_*
1118+
<flag-bit name='playcombat'/>
1119+
</bitfield-type>
1120+
1121+
<struct-type type-name='unit_action_data_shoot_ranged_weapon' original-name='unit_move_shoot_ranged_weaponst'>
1122+
<int32_t name='movewait'/>
1123+
<int32_t name='shooter_itid' ref-target='item'/>
1124+
<int32_t name='ammo_itid' ref-target='item'/>
1125+
<bitfield name='flags' base-type='uint32_t' type-name='unit_move_shoot_ranged_weapon_flag'/>
1126+
<int32_t name='target_unid' ref-target='unit'/>
1127+
<int16_t name='target_lx'/>
1128+
<int16_t name='target_ly'/>
1129+
<int16_t name='target_lz'/>
1130+
<int16_t name='target_bp'/>
1131+
<int32_t name='target_bp_hit_chance_adjustment'/>
1132+
</struct-type>
1133+
1134+
<struct-type type-name='unit_action_data_throw_item' original-name='unit_move_throw_itemst'>
1135+
<int32_t name='movewait'/>
1136+
<int32_t name='thrown_itid' ref-target='item'/>
1137+
<int32_t name='target_unid' ref-target='unit'/>
1138+
<int16_t name='target_lx'/>
1139+
<int16_t name='target_ly'/>
1140+
<int16_t name='target_lz'/>
1141+
<int16_t name='target_bp'/>
1142+
<int32_t name='target_bp_hit_chance_adjustment'/>
1143+
</struct-type>
1144+
1145+
<struct-type type-name='unit_action_data_post_shoot_recovery' original-name='unit_move_post_shoot_recoveryst'>
1146+
<int32_t name='movewait'/>
1147+
</struct-type>
1148+
10991149
<struct-type type-name='unit_action' original-name='unit_movest'>
11001150
<enum name='type' type-name='unit_action_type' init-value='None'/>
11011151

@@ -1131,6 +1181,10 @@
11311181
<compound name='dismount' type-name='unit_action_data_dismount'/>
11321182
<compound name='leadanimal' type-name='unit_action_data_lead_animal'/>
11331183
<compound name='stopleadanimal' type-name='unit_action_data_stop_lead_animal'/>
1184+
<compound name='loadrangedweapon' type-name='unit_action_data_load_ranged_weapon'/>
1185+
<compound name='shootrangedweapon' type-name='unit_action_data_shoot_ranged_weapon'/>
1186+
<compound name='throwitem' type-name='unit_action_data_throw_item'/>
1187+
<compound name='postshootrecovery' type-name='unit_action_data_post_shoot_recovery'/>
11341188
</compound>
11351189
</struct-type>
11361190

@@ -1215,6 +1269,7 @@
12151269
<enum-item name='Pet' comment='Left shoulder, right shoulder, or head, selected randomly using pet_seed'/>
12161270
<enum-item name='SewnInto'/>
12171271
<enum-item name='Strapped'/>
1272+
<enum-item name='Nocked'/>
12181273
</enum-type>
12191274

12201275
<struct-type type-name='unit_inventory_item' original-name='invitemst'>
@@ -1228,7 +1283,7 @@
12281283
refers-to='$$._global._parent._global.body.body_plan.body_parts[$]'/>
12291284

12301285
<int32_t name='pet_seed' comment='RNG seed for Pet mode'/>
1231-
<int32_t name='wound_id' init-value='-1' comment='-1 unless suture'/>
1286+
<int32_t name='wound_id' init-value='-1' comment='also nocked_in_itemid'/>
12321287
</struct-type>
12331288

12341289
<enum-type type-name='soldier_mood_type' base-type='int32_t'> bay12: SoldierMoodType
@@ -1311,7 +1366,7 @@
13111366
<flag-bit name='trade_resolved' comment='(CIV_RESOLVED)'/>
13121367
<flag-bit name='has_breaks' comment='(EVALUATE_LEAKS)'/>
13131368
<flag-bit name='gutted' comment='(HEALTH_GUTTED)'/>
1314-
<flag-bit comment='(UNUSED_16)'/>
1369+
<flag-bit name='must_forget_completely_keep_rooms'/>
13151370

13161371
<flag-bit name='locked_in_for_trading' comment="(TRADE_LOCKED) Locked in for trading"/>
13171372
<flag-bit name='slaughter' comment='(BUTCHERABLE) marked for slaughter'/>
@@ -2744,7 +2799,6 @@
27442799
<int32_t name='next_action_id'/>
27452800

27462801
<compound name='counters'> not a compound:
2747-
<int32_t name='think_counter' comment='loaddelay'/>
27482802
<int32_t name='job_counter' comment='movewait'/>
27492803
<int32_t name='swap_counter'/>
27502804

0 commit comments

Comments
 (0)