Skip to content

Sync Art and Buildings against Toady headers - #763

Merged
myk002 merged 2 commits into
DFHack:masterfrom
quietust:master
May 24, 2024
Merged

Sync Art and Buildings against Toady headers#763
myk002 merged 2 commits into
DFHack:masterfrom
quietust:master

Conversation

@quietust

Copy link
Copy Markdown
Member

And fix a few minor errors in the process

@github-actions

Copy link
Copy Markdown
Contributor

The sizes of the following types have changed in this pull request. Please verify that this is intentional. Note that renamed types are not currently detected and will also be listed here.

TypePlatformPrevious sizeNew size (this PR)Change
beat_flaglinux6404+4
beat_flagwindows6404+4
beat_typelinux6440-4
beat_typewindows6440-4
building_road_pavedstlinux64336328-8
building_roadstlinux64320328+8
building_roadstwindows64328336+8
building_squad_uselinux6480-8
building_squad_usewindows6480-8
building_use_typelinux6402+2
building_use_typewindows6402+2
dance_form_move_group_typelinux6440-4
dance_form_move_group_typewindows6440-4
dance_move_flaglinux6404+4
dance_move_flagwindows6404+4
hospital_supplieslinux6464136+72
hospital_supplieswindows6464136+72
musical_form_play_orderstlinux64024+24
musical_form_play_orderstwindows64024+24
musical_form_sub4linux64240-24
musical_form_sub4windows64240-24
rhythm_barstlinux64016+16
rhythm_barstwindows64016+16
rhythm_construction_pattern_flaglinux6404+4
rhythm_construction_pattern_flagwindows6404+4
scale_construction_typelinux6404+4
scale_construction_typewindows6404+4
scale_naming_typelinux6404+4
scale_naming_typewindows6404+4
scale_namingstlinux6401712+1712
scale_namingstwindows6401712+1712
stockpile_ammo_matlinux6404+4
stockpile_ammo_matwindows6404+4
stockpile_armor_matlinux6404+4
stockpile_armor_matwindows6404+4
stockpile_bar_matlinux6404+4
stockpile_bar_matwindows6404+4
stockpile_block_matlinux6404+4
stockpile_block_matwindows6404+4
stockpile_finished_matlinux6404+4
stockpile_finished_matwindows6404+4
stockpile_furniture_matlinux6404+4
stockpile_furniture_matwindows6404+4
stockpile_weapon_matlinux6404+4
stockpile_weapon_matwindows6404+4

This is an automated comment. Please leave a reply if you think that the above information is incorrect.

Comment threaddf.buildings.xml

<!-- <compound name='track_stop_info' comment='track_stop_profilest'> -->
<int32_t name='friction' init-value='50000' since='v0.34.08'/>
<int32_t name='use_dump' since='v0.34.08'/>

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note: breaks "blueprint" plugin

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Comment threaddf.buildings.xml
<vmethod ret-type='bool' name='needsMagma'/>
<vmethod name='removeUses'> <bool name='noscatter'/> <bool name='lost'/> </vmethod>
<vmethod name='deconstructItems'> <bool name='noscatter'/> <bool name='lost'/> </vmethod>
<vmethod name='deconstructItems'> <bool name='noscatter'/> <bool name='lost'/> <bool name='from_damage'/> </vmethod>

@myk002myk002May 23, 2024

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

could this be why we have crashed in the past while trying to forcibly deconstruct buildings? This was a key issue when I was trying to write quickfort regression tests since I couldn't test constructed buildings (since I couldn't clean those kinds of tests up afterwards)

Copy link
Copy Markdown
MemberAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suppose it's possible, though I don't recall whether any of our currently supported platforms still pass parameters on the stack and expect callee-cleanup (which is the only case where I'd expect something like this to cause a crash).

@ab9rfab9rfMay 24, 2024

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

would have caused stack alignment issues on msvc (windows) but not on gcc (linux) due to differences in the calling conventions: msvc passes the first four arguments in registers, while gcc passes the first six

@myk002myk002 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll see if I can update the affected tools

Comment threaddf.buildings.xml

<int32_t name='use_links_only'/>
<bitfield name='stockpile_flag' base-type='uint32_t'> bay12: BUILDINGFLAG_STOCKPILE_FLAG_*
<flag-bit name='use_links_only'/>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

will require updates to stockpiles and quickfort

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Comment threaddf.buildings.xml

<struct-type type-name='hospital_supplies'>
<bitfield name='supplies_needed' base-type='uint32_t'>
<struct-type type-name='hospital_supplies' original-name='location_infost'>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

quickfort may need updates here

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no, no updates needed for this one

Comment threaddf.buildings.xml
</bitfield>
<compound name='pen'>
<int32_t name='unk' init-value='1'/>
<compound name='gather'>

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

quickfort will need updates here

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

done

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

No open projects
Status: Done

Development

Successfully merging this pull request may close these issues.

3 participants

@quietust@myk002@ab9rf