included in a crash dump even if the crash happens after level generation is complete.
git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@8849 c06c8d41-db1a-0410-9941-cceddc491573
FDJFPTPB5IT7IFTUXKLIKOODLUC32YH7SPPBIVF4GV5GGTEFTLEAC
LHUDGRLJC6O4GDPCE2Z5OONRZFSYDJMZ4YGL6AQZJPVXJ2KR5ODAC
6TAQWWURX3QF4XXV7YGJEL5VKFLFEB2HV2PGJ5ARYNNRRRNVTFUAC
SVY2PTCLXR3KNPQAWXVXTTGCC5DR334HOAKHYO3VDDRWM2BWMALAC
K2CS6TCX2NDVL2ASEHGP4J4K4IJ6FP3ANNKTSIWVG43HPYSBX6ZQC
PRG7UT7G56GT4W3FQ3KG5JRPGMKKJBFDLVHDLYFQK6IZW25JQLBQC
T2ZYXC5YLXGQUN5R4VRNTQWJDGD3KS3BVS3KAJ4BZ4GXRCQT2SYQC
BW6QCGQDWZ6G2UGDD4EXI5VVDZHM5S53MJIC5CKG3Q3VQ4IDQ2VQC
6ZCKL3LCJ2QYYRI6CVK7CU4VXZMIZ6RIOTFUDEM2QTM4EHKVUKMAC
IB4IOXRL7AMMYTUE7GKYDYI6FE5ZFDIUG7DXAZIRMNEPA7KVSSWQC
7Z37EO2GGM2DAS65DWEI5VVPRPXMGH6XHB6IADG3Q6KOITSV25MAC
UZ6N6HOUPGVSPC5NQROEEDWMEGJA5XUWUY2AKH5QG65AZ25PVXDAC
3UKFCWWS5BLFQWZRB5FUA46CE2XGX5VRCEWC3K3XH5RCGQK64N2AC
3XZOL3FFQZITUJIGDD6B6V6ZYMBN524JKNN6ZPJAXEC7RY433I3QC
TLA5UN6LZPXGKERI27EFY4HKIIU3VU5Y7ZU54WXL6ANBUV2VOTMQC
YMKHC3DZYD4GAQRPZHOZ6RPPNX7ZIEMHBZJ4OKF7HJEHO4SQR7LAC
4FQAKUKUO6PCAZ3N4HUR5XL6E4VA5UQUZ3AEDGRBLVY7W2LMWI7QC
AOLWOUIFBQDQTCMSVB7N7GAKFUY5J5LH7CJZAY3HEY3WEUSLADZAC
TZ55IZNANEJO2WDTKYWVLY2W2VV6BR7WKIN7XLNISAMMFT6LG2WQC
GQL5SIGBHLU3FMCE54XVGLRY5AZHRM6DUEB722REA2DPLGJSN6EQC
X7MFMKQTNZ2IWBFVGS6WQV7NRNKJ3DWQAW2X7IQMFQQXW24AHPZQC
RPOZZWKG5GLPHVZZ7ZKMKS64ZMV2LDCQSARBJFJ6FZOTOKCQO7FAC
B7MSPF6X2RLGWN4M6ZZF3WSOPKGYPTTD7LIJVST7DXN27DG6JHNAC
43NBC6HJOFQQTASUMC5W7MWLS355ASIUS7SEFRO6PJWQDY7MRZZQC
W45PMU4HNPSAMMEBJ4XH4MTHLPVIASZT4FXTBPID5LFXKIMNUBKAC
KCHX2F3JFEWOZT3WMJVZAAQUU2QSZ5Q7RDCD7WUJ7VE65J52JFUQC
BTO5WE4OEK64DZQVNYLOESM74KKQNE7KSNMQVF5UDB26OBKP7ORQC
NVSFIV2ZKP44XHCSCXG6OZVGL67OIFINC34J2EMKTA4KULCERUEAC
KIDHPMZSLUVK3TF4565MH7SJ57C45SORJXR274VJTOULNOTGHQ4AC
XPTDBTPHD5CIPPOHIPMI7HBOTQIGGJPYKDOJCHWG2ZTI7SLUHTEAC
L254F6ZIU2HWGLFFGPIORTN4C3TDQ3E5JZ7Z7GQA5AEDIKL6PKDAC
S7Y7E2KDAFMTLDIXUTR673SYL5N35VXYGLRU67L42WHVYG5SEPBQC
RNIAOCLZYEW5GB7I536HRPYJ7DSDEXITH5RZP5CPKJYHVUTWBKRQC
CPTUVTBSOJMAUKMS5RFOAEZEVJGPFHMJA2DJWMDTYN7PFNZUGPWQC
dgn_Build_Method = "plan_4";
dgn_Layout_Type = "city";
dgn_Build_Method += make_stringf(" plan_4 [%d,%d %d,%d %d]",
(int) forbid_x1, (int) forbid_y1,
(int) forbid_x2, (int) forbid_y2,
(int) force_wall);
dgn_Layout_Type = "city";
}
void remember_vault_placement(std::string key, vault_placement &place)
{
CrawlHashTable &table = env.properties[key].get_table();
std::string name = make_stringf("%s [%d]", place.map.name.c_str(),
table.size() + 1);
std::string place_str
= make_stringf("(%d,%d) (%d,%d) orient: %d lev: %d alt: %d rune: %d "
"subst: %d",
place.pos.x, place.pos.y, place.size.x, place.size.y,
place.orient, place.level_number, place.altar_count,
place.num_runes, place.rune_subst);
table[name] = place_str;
mprf("dgn_Build_Method = %s", dgn_Build_Method.c_str());
mprf("dgn_Layout_Type = %s", dgn_Layout_Type.c_str());
if (Generating_Level)
{
mpr("Currently generating level.");
extern std::string dgn_Build_Method;
method = dgn_Build_Method;
type = dgn_Layout_Type;
}
else
{
if (!props.exists(BUILD_METHOD_KEY))
method = "ABSENT";
else
method = props[BUILD_METHOD_KEY].get_string();
for (unsigned int i = 0; i < Temp_Vaults.size(); i++)
vault_names.push_back(Temp_Vaults[i].map.name);
mprf("Level extras: %s", extra.c_str());
mpr("Level vaults:");
if (!props.exists(LEVEL_VAULTS_KEY))
mpr("ABSENT");
else
{
const CrawlHashTable &vaults = props[LEVEL_VAULTS_KEY].get_table();
CrawlHashTable::const_iterator i = vaults.begin();
for (; i != vaults.end(); i++)
mprf(" %s: %s", i->first.c_str(),
i->second.get_string().c_str());
}
mpr("");
mpr("Temp vaults:");
if (!props.exists(TEMP_VAULTS_KEY))
mpr("ABSENT");
else
{
const CrawlHashTable &vaults = props[TEMP_VAULTS_KEY].get_table();
CrawlHashTable::const_iterator i = vaults.begin();
_dump_levgen();
fprintf(file, EOL);
}
}
if (!props.exists(LEVEL_ID_KEY))
orig_place = "ABSENT";
else
orig_place = props[LEVEL_ID_KEY].get_string();
fprintf(file, "Level id: %s" EOL, place.c_str());
if (place != orig_place)
fprintf(file, "Level id when level was generated: %s" EOL,
orig_place.c_str());