Grow roof sometimes not working

i think i figured out why:

if you make a custom building and try to adjust the size/dimensions of your foundation at all, the grow roof tool will break.


  1. make a foundation
  2. add extra foundation
  3. add walls; either grow walls or free-standing
  4. grow roof

seems to break it 100% of the time; and seems to work when you don’t change your foundation 100% of the time

Hello, @jjjshab. Which Stonehearth version are you playing?

Also, could you upload a picture of the bug? I can’t reproduce it, it might be due to a certain floor shape.
Is this happening with all the roof types or just some of them?

Hey, @Relyss

i think the bug is related to this (though it doesn’t always pop up):

develop-3023 (x64)
stonehearth/lib/build_util.lua:749: assertion failed!
stack traceback:
[C]: ?
[C]: in function ‘assert’
stonehearth/lib/build_util.lua:749: in function ‘create_edge_loop_for_wall’
stonehearth/lib/build_util.lua:757: in function ‘create_edge_loop_for_wall’
stonehearth/lib/build_util.lua:836: in function ‘calculate_roof_shape_around_walls’
…th/services/client/build_editor/grow_roof_editor.lua:116: in function ‘_compute_roof_region’
…th/services/client/build_editor/grow_roof_editor.lua:78: in function ‘fn’
…ces/client/selection/entity_or_location_selector.lua:233: in function ‘_get_selected_entity’
…ces/client/selection/entity_or_location_selector.lua:269: in function ‘_on_mouse_event’
…nehearth/services/client/selection/selector_base.lua:115: in function ‘_mouse_cb’
stonehearth/services/client/input/input_capture.lua:49: in function ‘_dispatch’
stonehearth/services/client/input/input_service.lua:55: in function ‘_dispatch_input’
stonehearth/services/client/input/input_service.lua:12: in function <stonehearth/services/client/input/input_service.lua:11>

by “break,” i mean either the roof will not place entirely, or it will place with its overhang off and/or missing pieces of columns (this is with each type of roof - wood, stone, clay)

i have since tried to reproduce the bug, even on the same save where i was testing it out yesterday, and haven’t been able to repeat consistently :confused:

however, some other things which seem to be consistent lol:

  • increasing the Max Height of a clay roof and then trying to decrease it with the left arrow key ← does not allow user to go to the default 0 (you can manually type in 0, and it works)

  • creating roof with freestanding walls doesn’t work when all walls orient clockwise, ex:

it works when even 1 of the walls is going counter-clockwise, ex:

this was all on d3023 x64; windows 10 pro x64; gtx 980 ti; i5

hope it helps; i will continue to investigate lol

example of when the columns are missing pieces:

example of when the overhang is off:

so, an update on this for a17, 610:

this is now untrue, and will mess up the surface that the roof can cover, or make it so that the roof doesn’t get placed at all. it seems to only work when all (freestanding) walls orient counter-clockwise.

this is still true of all heights with a clay roof. it doesn’t show you going to -1 anymore in the input box but the roof still changes shapes. the only way to fix it is to type in 0 still

also a suggestion for the new building UX, @sdee, would it be possible to be able to drag the wall posts of a placed freestanding wall to move the post? for example:

Say I placed these two walls (let’s pretend it attached to another 3 walls to make a building), but I wanted to orient it to that the middle pillar was equal distance between the two end pillars. I want to be able to drag that middle pillar to the left one voxel. This can get exceedingly frustrating when you only realize the mistake you’ve made after you’ve built an entire building after these walls were placed and you either have to undo a thousand times (which sparingly works :frowning: ), or you’d have to restart the building again and cri everytim

hope that makes sense still, or ever lol