View Issue Details

IDProjectCategoryView StatusLast Update
0010267Dwarf FortressGeologypublic2017-07-30 23:33
ReporterPatrikLundell Assigned ToLoci  
PrioritynormalSeverityminorReproducibilityhave not tried
Status acknowledgedResolutionopen 
PlatformPCOSWindowsOS Version10.1
Product Version0.43.05 
Summary0010267: Adamantine spires in single cavern worlds go AWOL if set to reach 3:rd cavern.
DescriptionThere have been reports of adamantine spires missing from embarks where they should be present when generating single cavern worlds.

Investing one such world following a hunch I made a series of 4*4 embarks in the same region in a world (0.43.03) reported to suffer from this issue. These embarks collectively covered the whole region, and using DFHack's "reveal all" tool I noted which 2*2 embark tile groups that had spires and which ones did not.
I then looked at the structure DFHack calls df.global.world.world_data.feature_map [<world tile X/16>][<world tile Y/16>].features.feature_init[<world tile X mod 16>][<world tile Y mod 16>]. This element is a list of "features" and it did indeed contain the expected 64 deep special tube entries. For each of these entries the "start_depth" field contained the value 3 (= Magma Sea) for the spires that were present and 2 (= 3:rd cavern) for those that were not.
Using a copy of the save prior to performing the series of embarks, I then used DFHack to change two "start_depth = 3:rd cavern" spires to instead refer to the Magma Sea and embarked on that location with a 4*4 embark (the two unmodified spires were specified to have a "start_depth = Magma Sea" already, and verified that all 4 spires were now present (again using "reveal all").
Steps To ReproduceIt's probably just a matter of generating any single cavern world and embarking on a spire that's specified to reach the 3:rd cavern.
Additional InformationUsing the Phoebus tile set and DFHack 0.43.05-r2 with the Lazy Windoze Starter Pack, 32 bit version.
TagsNo tags attached.

Activities

PatrikLundell

2017-07-30 23:33

reporter   ~0036684

Some additional hacking has led me to the conclusion that DF miscalculates cavern layer for spire purposes when fewer than the default. Hacking can correct this, restoring spires to reach the bottom cavern.
In a 1 cavern world, the top spire layer should be set to 0, not 2, to reach the cavern, while in a 2 cavern world changing a 2 to 1 causes the spire to reach the bottom cavern. Presumably 0 would cause the spire to reach the top cavern in a two cavern world, although that wasn't tested.

Add Note

Note

Issue History

Date Modified Username Field Change
2017-07-21 07:35 PatrikLundell New Issue
2017-07-21 08:22 Loci Assigned To => Loci
2017-07-21 08:22 Loci Status new => acknowledged
2017-07-30 23:33 PatrikLundell Note Added: 0036684