Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

47 #400

Merged
merged 44 commits into from
Aug 6, 2020
Merged

47 #400

Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
642955d
Merge branch 'master' of https://github.com/DFHack/df-structures into 47
PatrikLundell Apr 15, 2020
bce7e34
further identification
PatrikLundell Apr 22, 2020
e5bdfdb
Merge branch 'master' of https://github.com/DFHack/df-structures into 47
PatrikLundell Apr 22, 2020
946fe92
minor army_controller adjustments
PatrikLundell Apr 22, 2020
3f5d0c9
additional minor army_controller research
PatrikLundell Apr 26, 2020
d98d680
merge
PatrikLundell Apr 26, 2020
30235b6
corrected botched comment
PatrikLundell Apr 26, 2020
f051d86
another schema validation correction
PatrikLundell Apr 26, 2020
337a393
Merge branch 'master' of https://github.com/DFHack/df-structures into 47
PatrikLundell Apr 26, 2020
d5f952e
sanity, identification, and research
PatrikLundell Apr 30, 2020
cf9aca8
history field identification
PatrikLundell Apr 30, 2020
6e98409
season_type used for cur_season and moved
PatrikLundell Apr 30, 2020
da8e9a7
intrigue and event collection field identification
PatrikLundell May 1, 2020
884a6ad
fixed misspelled attributes
PatrikLundell May 1, 2020
d1d81d1
misaligned identified fields, found enum value
PatrikLundell May 1, 2020
391b8a8
was still misaligned, but found another enum type in the process
PatrikLundell May 1, 2020
4301eca
identified a couple of enum values, general identification
PatrikLundell May 2, 2020
6e841a5
field identification
PatrikLundell May 8, 2020
c55994b
more musical_forms field identification
PatrikLundell May 9, 2020
d1106db
musical_form/scale field identification
PatrikLundell May 10, 2020
b699e98
field identification
PatrikLundell May 12, 2020
8f223a3
merged conflict
PatrikLundell May 12, 2020
a3ab7f3
region_weather fields, some enum values
PatrikLundell May 14, 2020
861ed52
addressed base-type comments
PatrikLundell May 15, 2020
b2df97d
dance form field identification
PatrikLundell May 16, 2020
e0cfb1f
more dance field identification
PatrikLundell May 17, 2020
d849c9b
identified enum value
PatrikLundell May 21, 2020
0d3cb0f
schema limitation work around + fixed syntactic error
PatrikLundell May 22, 2020
b1f5473
second schema limitation work around attempt
PatrikLundell May 22, 2020
bdc4978
merge
PatrikLundell May 22, 2020
c37f1bf
Merge branch 'master' of https://github.com/DFHack/df-structures into 47
PatrikLundell May 29, 2020
f16932f
identity enums identified and picked growths object data named
PatrikLundell May 29, 2020
dd109f1
adapted to comments
PatrikLundell May 29, 2020
41f763c
dead civ flag identified + minor adjustments
PatrikLundell May 31, 2020
2bb7f37
reverted incorrect flag 'identification'
PatrikLundell Jun 2, 2020
56d2d60
named field
PatrikLundell Jun 7, 2020
89452ec
tedious and error prone merge
PatrikLundell Jun 26, 2020
b994d2a
fixed one merge error
PatrikLundell Jun 26, 2020
fa23ca6
Merge master into PatrikLundell/47 (INCOMPLETE) (#400)
lethosor Aug 6, 2020
37d9df8
Manually apply historical_figure_relationships.intrigues changes to l…
lethosor Aug 6, 2020
ef219bf
Merge enums, remove duplicate types
lethosor Aug 6, 2020
e9b1108
Merge master into #400 again
lethosor Aug 6, 2020
6169998
Change historical_figure_relationships.hf_visual.rank back to int16_t
lethosor Aug 6, 2020
546c0fa
Remove season_type (unused, duplicates "season")
lethosor Aug 6, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions changelog.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ that repo.
- ``breed``: new struct type
- ``creature_handler``: identified vmethods
- ``crime``: removed fields of ``reports`` that are no longer present
- ``dance_form``: identified most fields
- ``history_event_context``: identified fields
- ``image_set``: new struct type
- ``itemdef_flags``: new enum, with ``GENERATED`` flag
Expand All @@ -47,6 +48,7 @@ that repo.
- ``interrogation_report``: new struct type
- ``justification``: new enum
- ``lever_target_type``: identified ``LeverMechanism`` and ``TargetMechanism`` values
- ``musical_form``: identified fields, including some renames. Also identified fields in ``scale`` and ``rhythm``
- ``region_weather``: new struct type
- ``squad_order_cause_trouble_for_entityst``: identified fields
- ``unit_thought_type``: added several new thought types
Expand Down
609 changes: 438 additions & 171 deletions df.art.xml

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions df.entities.xml
Original file line number Diff line number Diff line change
Expand Up @@ -392,12 +392,12 @@
at that level (Some exterminated kobolds have it set, while most do not, for instance. Embark culled dwarven civs
may or may not have it set).
<flag-bit name='worshipping'/>
<flag-bit name='unk6' comment="Set for a significant number of entities"/>
<flag-bit name='unk6'/>
<flag-bit name='unk7'/>
<flag-bit name='player_government' comment="Appears when embarking (and having unpaused)"/>
<flag-bit name='unk9'/>
<flag-bit name='unspecific_race' comment="Can be set for SiteGovernment, always set for Guild and PerformanceTroupe. Never set for NomadicGroup even when race=-1"/>
<flag-bit name='unk11' comment="Set for a significant number of entities. Includes the full [6] set, plus some"/>
<flag-bit name='unk11' comment="Set for a significant number of entities. It might indicate that entity is dead, although kobold civs never seem to have this flag set, even when their cave has been conquered or destroyed"/>
<flag-bit name='unk12' comment="Set for all but unnamed civs, kobold entities, vault governments, and cave civ building race Outcasts. Set when an entity creates a poetic form."/>
<flag-bit name='unk13' comment="Set for a significant number of entities"/>
<flag-bit name='unk14' comment="Set for a significant number of entities"/>
Expand Down Expand Up @@ -1343,7 +1343,7 @@
<enum-type type-name='crime_type' base-type='int32_t'>
<enum-item name='NONE' value='-1'/>
<enum-item name='Bribery'/>
<enum-item/>
<enum-item name='BringIntoNetwork'/>
<enum-item name='Corruption'/>
<enum-item name='Embezzlement'/>
</enum-type>
Expand Down
651 changes: 357 additions & 294 deletions df.history.xml

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion df.items.xml
Original file line number Diff line number Diff line change
Expand Up @@ -1017,7 +1017,7 @@
</class-type>
<class-type type-name='item_plant_growthst' inherits-from='item_actual'>
<int16_t name='subtype'/>
<int32_t/>
<int32_t name='growth_print'/>
<int16_t name='mat_type' ref-target='material' aux-value='$$.mat_index'/>
<int32_t name='mat_index'/>
<int32_t name='rot_timer'/>
Expand Down
260 changes: 130 additions & 130 deletions df.military.xml

Large diffs are not rendered by default.

22 changes: 11 additions & 11 deletions df.ui.xml
Original file line number Diff line number Diff line change
Expand Up @@ -175,14 +175,14 @@
<int8_t name='guard_lack_complained'/>
</compound>

<int32_t/>
<int32_t name='unk_1'/>
<int32_t name='manager_cooldown' comment='0-1008'/>
<int32_t name='bookkeeper_cooldown' comment='0-1008'/>
<int32_t name='bookkeeper_precision'/>
<int16_t name='bookkeeper_settings'/> noble bookkeeper precision: 10/100/1000/10000/all_accurate

<stl-vector name='caravans' pointer-type='caravan_state'/>
<int8_t/>
<int8_t name='unk_2'/>
<int16_t name='fortress_rank'/> outpost/hamlet/village/town/city/metropolis
<int16_t name='progress_population' comment='?'/> (unles that's what the above is)
<int16_t name='progress_trade' comment='?'/>
Expand All @@ -194,8 +194,8 @@
<bool name='ignore_labor_shortage'/>
<bool name='justice_active'/>

<uint16_t init-value='60001'/>
<uint16_t init-value='60001'/>
<uint16_t name='unk_3' init-value='60001'/>
<uint16_t name='unk_4' init-value='60001'/>
<int16_t name='manager_timer'/>
<compound name='becoming_capital'>
<int32_t name='desired_architecture'/>
Expand All @@ -205,7 +205,7 @@
<stl-vector name='currency_value' type-name='int32_t'
index-refers-to='(material-by-id 0 $)'/>
<int32_t name='trees_removed'/>
<int32_t/>
<int32_t name='unk_5'/>
<int32_t name='fortress_age' comment='?; +1 per 10; used in first 2 migrant waves etc'/>
<compound name='tasks' type-name='entity_activity_statistics'/>

Expand Down Expand Up @@ -530,11 +530,11 @@
</compound>

<stl-vector name='petitions' type-name='int32_t' comment='related to agreements'/>
<stl-vector since='v0.47.01'/>
<stl-vector name='unk_6' type-name='int32_t' since='v0.47.01' comment="observed allocating 4 bytes"/>

<stl-vector since='v0.44.01'/>
<stl-vector name='unk_7' since='v0.44.01'/>

<stl-vector since='v0.47.01' comment='related to (job_type)0xf1'>
<stl-vector name='unk_8' since='v0.47.01' comment='related to (job_type)0xf1'>
<pointer>
<int32_t ref-target='item'/>
<int32_t ref-target='historical_figure'/>
Expand Down Expand Up @@ -571,9 +571,9 @@
</pointer>
</stl-vector>

<stl-vector since='v0.47.01'/>
<stl-vector since='v0.47.01'/>
<stl-vector since='v0.47.01'/>
<stl-vector name='unk_9' since='v0.47.01'/>
<stl-vector name='unk_10' since='v0.47.01'/>
<stl-vector name='unk_11' since='v0.47.01'/>

<compound name='main'>
<static-array name='hotkeys' type-name='ui_hotkey' count='16'/>
Expand Down
51 changes: 51 additions & 0 deletions df.units.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2251,6 +2251,7 @@
<enum-item name='NeedWeapons' comment='no longer used'/>
<enum-item name='IsAngry'/>
<enum-item name='IsSad'/>
-- 30
<enum-item/>
<enum-item/>
<enum-item/>
Expand All @@ -2261,6 +2262,7 @@
<enum-item/>
<enum-item/>
<enum-item/>
-- 40
<enum-item/>
<enum-item/>
<enum-item/>
Expand All @@ -2270,6 +2272,55 @@
<enum-item/>
<enum-item/>
<enum-item name='Petition'/>
<enum-item/>
-- 50
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
-- 60
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
-- 70
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
-- 80
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
<enum-item/>
-- 90
<enum-item/>
<enum-item/>
<enum-item comment="Seen on stressed dorf meeting priest (resulting in yelling at a priest). guild=-1, 'age'=1583 with no reasonable match found (in particular not religion)"/>
</enum>
<enum base-type='int16_t' type-name='guild_id' name="guild"/>
<int32_t name='age'/>
Expand Down
67 changes: 38 additions & 29 deletions df.world-data.xml
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
</code-helper>
</int32_t>

<enum base-type='int16_t' name='depth' type-name='layer_type'/>
<enum base-type='int16_t' name='depth' type-name='layer_type' comment="Doesn't look correct. See -1, 0, 41, 172, 508, and 686 with critters visible in all caverns. Some dead, but the dorf on the surface isn't"/>
</struct-type>

<struct-type type-name='local_population'>
Expand Down Expand Up @@ -574,7 +574,7 @@
<int16_t name="elevation" 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'/>
<int16_t name="rainfall" comment='0-100'/>
<int16_t name="vegetation" comment='0-100'/>
<int16_t name="temperature" comment='Urists. 10000 Urists=0 Celsius'/>
<int16_t name="temperature" comment="Urists. 10000 Urists=0 Celsius. Urist steps equals Fahrenheit steps, which is equal to 5/9 Celsius steps"/>
<int16_t name="evilness" comment='0-32=Good, 33-65=Neutral, 66-100=Evil'/>
<int16_t name="drainage" comment='0-100'/>
<int16_t name="volcanism" comment='0-100'/>
Expand Down Expand Up @@ -661,7 +661,7 @@

<struct-type type-name='world_object_data'
instance-vector='$global.world.world_data.object_data' key-field='id'>
<int32_t name="id"/>
<int32_t name='id' comment="World MLT of the data according to: i + x * 16 + k * 16 * world_width + y * 256 * world_width, where (x, y) is the world tile and (i, k) the MLT within it"/>
<stl-vector name="altered_items" type-name='int32_t' comment='world_data_subid'/>
<stl-vector name="offloaded_items">
<pointer>
Expand Down Expand Up @@ -691,7 +691,7 @@
</stl-vector>
<stl-vector name="unk_94">
<pointer>
<int32_t name="global_x" comment='in tiles it seems'/>
<int32_t name="global_x" comment='in in-game tiles it seems'/>
<int32_t name="global_y"/>
<int32_t name="global_z"/>
<int32_t name="unk_c"/>
Expand All @@ -702,19 +702,21 @@
<int32_t name="year"/>
<int32_t name="year_tick"/>

-- v0.40.14:
<stl-vector name='unk_c0' type-name='int16_t' comment="6 bytes allocated seen. Cannot be pointer"/>
<stl-vector name="unk_d0" type-name='int16_t' comment="6 bytes allocated seen. Cannot be pointer"/>
<stl-vector name="unk_e0" type-name='int16_t' comment="6 bytes allocated seen. Cannot be pointer. Seen on the same element, so c0, d0, and e0 may be connected"/>
<stl-vector name="unk_f0"/>
<stl-vector name="unk_100"/>
<stl-vector name="unk_110"/>

-- v0.43.01
<stl-vector name='unk_v43_1'/>
<stl-vector name='unk_v43_2'/>
<stl-vector name='unk_v43_3'/>
<stl-vector name='unk_v43_4'/>
<compound name='picked_growths' since='v0.40.14' comment="also includes 'automatically picked' i.e. fallen fruit that becomes item_spatter. Doesn not seem to be used by Adventurer mode">
<stl-vector name='x' type-name='int16_t' comment="0 - 47, within the MLT"/>
<stl-vector name='y' type-name='int16_t' comment="0 - 47, within the MLT"/>
<stl-vector name='z' type-name='int16_t' comment="z coordinate using the elevation coordinate system"/>
<stl-vector name='subtype' type-name='int32_t' comment="subtype of the growth picked within the raws of the implicit plant"/>
<stl-vector name='density' type-name='int32_t' comment="copy of the density field of the growth raws"/>
<stl-vector name='year' type-name='int32_t' comment="presumably to know whether it's the current year's harvest or the previous one's"/>
</compound>

<compound name='unk_v43' since='v0.43.01' comment="probably used by Adventurer mode">
<stl-vector name='x' type-name='int16_t' comment="probably MLT relative x coordinate"/>
<stl-vector name='y' type-name='int16_t' comment="probably MLT relative y coordinate"/>
<stl-vector name='z' type-name='int16_t' comment="probably z coordinate using the elevation coordinate system"/>
<stl-vector name='unk_4' type-name='int32_t' comment="233/234 seen"/>
</compound>
</struct-type>

<enum-type type-name='mountain_peak_flags'>
Expand Down Expand Up @@ -1017,21 +1019,28 @@
<stl-vector name='event_collections' type-name="int32_t" ref-target='history_event_collection'/>
</struct-type>

<struct-type type-name='region_weather' key-field='id' instance-vector='$global.world.world_data.region_weather'>
<enum-type type-name='region_weather_type' base-type='int32_t'>
<enum-item name='CreepingGas'/>
<enum-item name='CreepingVapor' comment="doesn't seem to be generated by DF, but appears if hacked"/>
<enum-item name='CreepingDust'/>
<enum-item name='FallingMaterial' comment="a.k.a. rain, both blood and syndrome, but not regular"/>
</enum-type>

<struct-type type-name='region_weather' key-field='id' instance-vector='$global.world.world_data.region_weather' comment="only evil weather, not the regular kind">
<int32_t name='id'/>
<int32_t name="unk_4"/>
<enum name='type' type-name='region_weather_type' base-type='int32_t' comment="Creeping Gas/Vapor/Dust='cloud' below, FallingMaterial='rain'"/>
<int16_t name='mat_type' ref-target='material' aux-value='$$.mat_index'/>
<int32_t name='mat_index'/>
<int32_t name="unk_10"/>
<int32_t name="region_x"/>
<int32_t name="region_y"/>
<int32_t name="unk_1c" init-value='-30000'/>
<int32_t name="unk_20" init-value='-30000'/>
<int32_t name="unk_24" init-value='-30000'/>
<int32_t name="unk_28"/>
<int32_t name="unk_2c"/>
<int32_t name="unk_30"/>
<int32_t name="unk_34" init-value='-1'/>
<bool name='announcement' comment="Guess based on seeing it appear for an entry when hitting the embark, resulting in an announcement"/>
<int32_t name='region_x' comment="world tile, used with evil rain. Probably uninitialized with cloud"/>
<int32_t name='region_y' comment="world tile, used with evil rain. Probably uninitialized with cloud"/>
<int32_t name='world_in_game_x' init-value='-30000' comment="used with evil clouds, indicating global in-game coordinates"/>
<int32_t name='world_in_game_y' init-value='-30000' comment="used with evil clouds, indicating global in-game coordinates"/>
<int32_t name='world_in_game_z' init-value='-30000' comment="probably never used, as weather appears on the surface"/>
<int32_t name='cloud_x_movement' comment="-1/0/1, indicating the movement per 10 ticks in X direction. Uninitialized for rain"/>
<int32_t name='cloud_y_movement' comment="-1/0/1, indicating the movement per 10 ticks in Y direction. Uninitialized for rain"/>
<int32_t name='remaining_duration' comment="ticks down 1 every 10 ticks. Removed some time after reaching 0. Cloud duration seems to start with a fairly large, but somewhat random value"/>
<int32_t name='region_id' ref-target='world_region' comment="Set for clouds, -1 for rain"/>
</struct-type>
</data-definition>

Expand Down
24 changes: 12 additions & 12 deletions df.world-site.xml
Original file line number Diff line number Diff line change
Expand Up @@ -476,8 +476,8 @@
<int32_t name="race"/>
<int32_t name="entity_id" ref-target='historical_entity' comment="failed to see any connections between these entities and the sites. Might be something else"/>
<int32_t name="unk_c"/>
<int32_t name="unk_10"/>
<int32_t name="unk_14"/>
<int32_t name='unk_10' comment="might be start year"/>
<int32_t name='unk_14' comment="might be end year"/>
<int32_t name="unk_18"/>
<int32_t name="unk_1c"/>
</pointer>
Expand Down Expand Up @@ -560,22 +560,22 @@

<int32_t name='unk_v40_5' comment='constant -1?' since='v0.40.01'/>

<pointer name="unk_188" comment="Seen monster in lair, first settler in site, killed defender in site">
<pointer name="unk_188" comment="Seen monster in lair, first settler in site, killed defender in site, artifact created in player fortress, (player) created artifact claimed by villain for unrelated cave/villain settled in cave">
<stl-vector>
<pointer>
<int32_t comment="looks random"/>
<int32_t init-value='0'/>
<int32_t init-value='0'/>
<int32_t comment="might be year"/>
<int32_t name='unk_2' comment="looks random"/>
<int32_t name='unk_3' init-value='0'/>
<int32_t name='unk_4' init-value='0'/>
<int32_t name='unk_5' comment="might be year"/>
<compound name='unk1'>
<int32_t/>
<int32_t/>
<int32_t name='unk_1'/>
<int32_t name='unk_2' init-value='-1'/>
<int32_t name='hfid' ref-target='historical_figure'/>
<int32_t/>
<int32_t name='artifact_id' ref-target='artifact_record'/>
<int32_t name='site_id' ref-target='world_site'/>
</compound>
<int32_t init-value='-1' comment="1, 2, 3, 11 seen"/>
<int32_t init-value='-1'/>
<int32_t name='unk_6' init-value='-1' comment="1, 2, 3, 5, 11 seen"/>
<int32_t name='unk_7' init-value='-1'/>
</pointer>
</stl-vector>
</pointer>
Expand Down
Loading