Skip to content

Conversation

@quietust
Copy link
Member

And fix a few minor errors in the process

@github-actions
Copy link
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.

Type Platform Previous size New size (this PR) Change
beat_flag linux64 0 4 +4
beat_flag windows64 0 4 +4
beat_type linux64 4 0 -4
beat_type windows64 4 0 -4
building_road_pavedst linux64 336 328 -8
building_roadst linux64 320 328 +8
building_roadst windows64 328 336 +8
building_squad_use linux64 8 0 -8
building_squad_use windows64 8 0 -8
building_use_type linux64 0 2 +2
building_use_type windows64 0 2 +2
dance_form_move_group_type linux64 4 0 -4
dance_form_move_group_type windows64 4 0 -4
dance_move_flag linux64 0 4 +4
dance_move_flag windows64 0 4 +4
hospital_supplies linux64 64 136 +72
hospital_supplies windows64 64 136 +72
musical_form_play_orderst linux64 0 24 +24
musical_form_play_orderst windows64 0 24 +24
musical_form_sub4 linux64 24 0 -24
musical_form_sub4 windows64 24 0 -24
rhythm_barst linux64 0 16 +16
rhythm_barst windows64 0 16 +16
rhythm_construction_pattern_flag linux64 0 4 +4
rhythm_construction_pattern_flag windows64 0 4 +4
scale_construction_type linux64 0 4 +4
scale_construction_type windows64 0 4 +4
scale_naming_type linux64 0 4 +4
scale_naming_type windows64 0 4 +4
scale_namingst linux64 0 1712 +1712
scale_namingst windows64 0 1712 +1712
stockpile_ammo_mat linux64 0 4 +4
stockpile_ammo_mat windows64 0 4 +4
stockpile_armor_mat linux64 0 4 +4
stockpile_armor_mat windows64 0 4 +4
stockpile_bar_mat linux64 0 4 +4
stockpile_bar_mat windows64 0 4 +4
stockpile_block_mat linux64 0 4 +4
stockpile_block_mat windows64 0 4 +4
stockpile_finished_mat linux64 0 4 +4
stockpile_finished_mat windows64 0 4 +4
stockpile_furniture_mat linux64 0 4 +4
stockpile_furniture_mat windows64 0 4 +4
stockpile_weapon_mat linux64 0 4 +4
stockpile_weapon_mat windows64 0 4 +4

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


<!-- <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
Member Author

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
Member

Choose a reason for hiding this comment

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

done

<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>
Copy link
Member

@myk002 myk002 May 23, 2024

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
Member Author

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).

Copy link
Member

@ab9rf ab9rf May 24, 2024

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

Copy link
Member

@myk002 myk002 left a comment

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


<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
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
Member

Choose a reason for hiding this comment

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

done


<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
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
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

</bitfield>
<compound name='pen'>
<int32_t name='unk' init-value='1'/>
<compound name='gather'>
Copy link
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
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 free to 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