Dwarf Fortress Bug Tracker - Dwarf Fortress
View Issue Details
0010267Dwarf FortressGeologypublic2017-07-21 07:352017-07-30 23:33
PatrikLundell 
Loci 
normalminorhave not tried
acknowledgedopen 
PCWindows10.1
0.43.05 
 
0010267: Adamantine spires in single cavern worlds go AWOL if set to reach 3:rd cavern.
There 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").
It'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.
Using the Phoebus tile set and DFHack 0.43.05-r2 with the Lazy Windoze Starter Pack, 32 bit version.
No tags attached.
Issue History
2017-07-21 07:35PatrikLundellNew Issue
2017-07-21 08:22LociAssigned To => Loci
2017-07-21 08:22LociStatusnew => acknowledged
2017-07-30 23:33PatrikLundellNote Added: 0036684

Notes
(0036684)
PatrikLundell   
2017-07-30 23:33   
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.