Skip to content

Commit 33d9035

Browse files
committed
Great Reorganization: army.h
1 parent 8815430 commit 33d9035

File tree

3 files changed

+106
-85
lines changed

3 files changed

+106
-85
lines changed

df.army.xml

Lines changed: 105 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,105 @@
1+
<data-definition>
2+
<enum-type type-name='army_flags'> bay12: ArmyFlag
3+
<enum-item name='player'/>
4+
<enum-item name='hidden'/>
5+
<enum-item name='sleeping'/>
6+
<enum-item name='waiting'/>
7+
<enum-item name='sneaking'/>
8+
<enum-item name='composing'/>
9+
<enum-item name='working'/>
10+
<enum-item name='dwarf_mode_preparing'/>
11+
</enum-type>
12+
13+
-- Unused: ArmyGoalType
14+
15+
<struct-type type-name='army_popst'>
16+
<int32_t name="count"/>
17+
<compound name='pop_spec' type-name='entity_pop_specifierst'/>
18+
</struct-type>
19+
20+
<bitfield-type type-name='army_nemesis_flag' base-type='uint32_t'> bay12: ARMY_NEMESIS_FLAG_*
21+
<flag-bit name='sleeps'/>
22+
<flag-bit name='eats'/>
23+
<flag-bit name='drinks'/>
24+
<flag-bit name='is_sleeping'/>
25+
<flag-bit name='on_watch'/>
26+
<flag-bit name='bloodsucker'/>
27+
<flag-bit name='do_needs'/>
28+
</bitfield-type>
29+
30+
<struct-type type-name='army_nemesisst'>
31+
<int32_t name='nemesis_id' init-value='-1'/>
32+
<int32_t name='hunger_timer'/>
33+
<int32_t name='thirst_timer'/>
34+
<int32_t name='sleepiness_timer'/>
35+
<int32_t name='stored_fat'/>
36+
<int32_t name='blood_thirst'/>
37+
<bitfield name='flags' base-type='uint32_t' type-name='army_nemesis_flag'/>
38+
<int32_t name='abs_x' init-value='-1000000'/>
39+
<int32_t name='abs_y' init-value='-1000000'/>
40+
<int32_t name='abs_z' init-value='-1000000'/>
41+
<int32_t name='tracking_rating'/>
42+
<int32_t name='sneak_rating' since='v0.44.01'/>
43+
<int32_t name='smell_trigger' init-value='100'/>
44+
<int32_t name='low_light_vision'/>
45+
<int32_t name='odor_level'/>
46+
<stl-vector name='can_sense_by_class' pointer-type='stl-string'/>
47+
<int32_t name='needs_build_up' since='v0.42.01'/>
48+
<int32_t name='mount_nemid' ref-target='nemesis_record' since='v0.47.01'/>
49+
<int32_t name='travel_rate' since='v0.47.01'/>
50+
</struct-type>
51+
52+
<struct-type type-name='army' key-field='id' original-name='armyst'
53+
instance-vector='$global.world.armies.all'>
54+
<int32_t name='id'/>
55+
<compound name='pos' type-name='coord'/>
56+
<compound name='last_pos' type-name='coord'/>
57+
<int16_t name='travel_count' init-value='0' comment="1, 2, 5, 10, 15, 20, 21 seen"/>
58+
<int32_t name='wait_count' init-value='0' comment="When set, large value like army or army_controller id, but no match found"/>
59+
<int32_t name='watch_time' init-value='0'/>
60+
<stl-vector name='members' pointer-type='army_nemesisst'/>
61+
<stl-vector name='squads' pointer-type='army_popst'/>
62+
<int32_t name='tracking_rating'/>
63+
<int32_t name='sneak_rating' since='v0.44.01'/>
64+
<int32_t name='travel_rate' since='v0.47.03' comment="16 only value seen"/>
65+
66+
<int32_t name='controller_id' ref-target='army_controller'/>
67+
<pointer name='controller' type-name="army_controller"/>
68+
69+
<df-flagarray name='flags' index-enum='army_flags'/>
70+
<stl-vector name='block_path_x' type-name='int32_t' comment="path in map_block coordinates. Seems to be the near term"/>
71+
<stl-vector name='block_path_y' type-name='int32_t'/>
72+
<stl-vector name='path_x' type-name='int32_t' comment="path in world coordinates. Seems to be the extension beyond those laid out in block_path_x/y"/>
73+
<stl-vector name='path_y' type-name='int32_t'/>
74+
75+
<int32_t name='hidden_sr_ind' init-value='-1' comment='subregion'/>
76+
<int32_t name='hidden_fl_ind' init-value='-1' comment='feature layer'/>
77+
78+
<int32_t name='current_army_tracking_info_id' ref-target='army_tracking_info'/>
79+
80+
<int32_t name='min_smell_trigger'/>
81+
<int32_t name='max_odor_level' comment='1000 if undead are present'/>
82+
<int32_t name='max_low_light_vision'/>
83+
<stl-vector name='sense_creature_classes' pointer-type='stl-string'/>
84+
<stl-vector name='creature_class' pointer-type='stl-string' comment="Usually 'GENERAL_POISON' and 'MAMMAL'. Seen something else for undead"/>
85+
86+
<enum type-name='item_type' name='item_type' comment='for tent'/>
87+
<int16_t name='item_subtype' refers-to='(item-subtype-target $$._parent.item_type $)'/>
88+
<int16_t name='mat_type' ref-target='material' aux-value='$$.mat_index'/>
89+
<int32_t name='mat_index'/>
90+
91+
<stl-vector name='items' pointer-type='item' since='v0.44.07'/>
92+
</struct-type>
93+
94+
<struct-type type-name='army_handlerst'>
95+
<stl-vector name='all' pointer-type='army'/>
96+
<stl-vector name='order_load' pointer-type='army' has-bad-pointers='true'/>
97+
</struct-type>
98+
</data-definition>
99+
100+
<!--
101+
Local Variables:
102+
indent-tabs-mode: nil
103+
nxml-child-indent: 4
104+
End:
105+
-->

df.military.xml

Lines changed: 0 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -365,87 +365,6 @@
365365
<int32_t name='rescue_hf' ref-target='historical_figure'/>
366366
<compound name='exit_point' type-name='coord'/>
367367
</class-type>
368-
369-
<enum-type type-name='army_flags'> bay12: ArmyFlag
370-
<enum-item name='player'/>
371-
<enum-item name='hidden'/>
372-
<enum-item name='sleeping'/>
373-
<enum-item name='waiting'/>
374-
<enum-item name='sneaking'/>
375-
<enum-item name='composing'/>
376-
<enum-item name='working'/>
377-
<enum-item name='dwarf_mode_preparing'/>
378-
</enum-type>
379-
380-
<struct-type type-name='army_popst'>
381-
<int32_t name="count"/>
382-
<compound name='pop_spec' type-name='entity_pop_specifierst'/>
383-
</struct-type>
384-
385-
<struct-type type-name='army' key-field='id' original-name='armyst'
386-
instance-vector='$global.world.armies.all'>
387-
<int32_t name='id'/>
388-
<compound name='pos' type-name='coord'/>
389-
<compound name='last_pos' type-name='coord'/>
390-
<int16_t name='travel_count' init-value='0' comment="1, 2, 5, 10, 15, 20, 21 seen"/>
391-
<int32_t name='wait_count' init-value='0' comment="When set, large value like army or army_controller id, but no match found"/>
392-
<int32_t name='watch_time' init-value='0'/>
393-
<stl-vector name='members'>
394-
<pointer> bay12: army_nemesisst
395-
<int32_t name='nemesis_id' init-value='-1'/>
396-
<int32_t name='hunger_timer'/>
397-
<int32_t name='thirst_timer'/>
398-
<int32_t name='sleepiness_timer'/>
399-
<int32_t name='stored_fat'/>
400-
<int32_t name='blood_thirst'/>
401-
<bitfield name='flags' base-type='uint32_t'> bay12: ARMY_NEMESIS_FLAG_*
402-
<flag-bit name='sleeps'/>
403-
<flag-bit name='eats'/>
404-
<flag-bit name='drinks'/>
405-
<flag-bit name='is_sleeping'/>
406-
<flag-bit name='on_watch'/>
407-
<flag-bit name='bloodsucker'/>
408-
<flag-bit name='do_needs'/>
409-
</bitfield>
410-
<int32_t name='abs_x' init-value='-1000000'/>
411-
<int32_t name='abs_y' init-value='-1000000'/>
412-
<int32_t name='abs_z' init-value='-1000000'/>
413-
<int32_t name='tracking_rating'/>
414-
<int32_t name='sneak_rating' since='v0.44.01'/>
415-
<int32_t name='smell_trigger' init-value='100'/>
416-
<int32_t name='low_light_vision'/>
417-
<int32_t name='odor_level'/>
418-
<stl-vector name='can_sense_by_class' pointer-type='stl-string'/>
419-
<int32_t name='needs_build_up' since='v0.42.01'/>
420-
<int32_t name='mount_nemid' ref-target='nemesis_record' since='v0.47.01'/>
421-
<int32_t name='travel_rate' since='v0.47.01'/>
422-
</pointer>
423-
</stl-vector>
424-
<stl-vector name='squads' pointer-type='army_popst'/>
425-
<int32_t name='tracking_rating'/>
426-
<int32_t name='sneak_rating' since='v0.44.01'/>
427-
<int32_t name='travel_rate' since='v0.47.03' comment="16 only value seen"/>
428-
<int32_t name='controller_id' ref-target='army_controller'/>
429-
<pointer name='controller' type-name="army_controller"/>
430-
<df-flagarray name='flags' index-enum='army_flags'/>
431-
<stl-vector name='block_path_x' type-name='int32_t' comment="path in map_block coordinates. Seems to be the near term"/>
432-
<stl-vector name='block_path_y' type-name='int32_t'/>
433-
<stl-vector name='path_x' type-name='int32_t' comment="path in world coordinates. Seems to be the extension beyond those laid out in block_path_x/y"/>
434-
<stl-vector name='path_y' type-name='int32_t'/>
435-
<int32_t name='hidden_sr_ind' init-value='-1'/>
436-
<int32_t name='hidden_fl_ind' init-value='-1'/>
437-
<int32_t name='current_army_tracking_info_id' init-value='-1'/>
438-
<int32_t name='min_smell_trigger'/>
439-
<int32_t name='max_odor_level' comment='1000 if undead are present'/>
440-
<int32_t name='max_low_light_vision'/>
441-
<stl-vector name='sense_creature_classes' pointer-type='stl-string'/>
442-
<stl-vector name='creature_class' pointer-type='stl-string' comment="Usually 'GENERAL_POISON' and 'MAMMAL'. Seen something else for undead"/>
443-
<enum type-name='item_type' name='item_type' comment='for tent'/>
444-
<int16_t name='item_subtype' refers-to='(item-subtype-target $$._parent.item_type $)'/>
445-
<int16_t name='mat_type' ref-target='material' aux-value='$$.mat_index'/>
446-
<int32_t name='mat_index'/>
447-
<stl-vector name='items' pointer-type='item' since='v0.44.07'/>
448-
</struct-type>
449368
</data-definition>
450369

451370
<!--

df.world.xml

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -958,10 +958,7 @@
958958
<stl-vector name='order_load' has-bad-pointers='true' pointer-type='vehicle'/>
959959
</compound>
960960

961-
<compound name='armies' since='v0.40.01'> bay12: army_handlerst
962-
<stl-vector name='all' pointer-type='army'/>
963-
<stl-vector name='order_load' pointer-type='army' has-bad-pointers='true'/>
964-
</compound>
961+
<compound name='armies' since='v0.40.01' type-name='army_handlerst'/>
965962

966963
<compound name='army_controllers' since='v0.40.01' type-name='army_controller_handlerst'/>
967964

0 commit comments

Comments
 (0)