summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/dbg-scan.cc
diff options
context:
space:
mode:
authorAdam Borowski <kilobyte@angband.pl>2013-11-19 22:41:21 +0100
committerAdam Borowski <kilobyte@angband.pl>2013-11-21 01:13:08 +0100
commitd68e619434409e5356531855c676daf9dcb76e33 (patch)
treec965ed73da71cb718ccef0d1c740e99279671176 /crawl-ref/source/dbg-scan.cc
parent0673ff4bcac89b97b999d6073c49246548f47a58 (diff)
downloadcrawl-ref-d68e619434409e5356531855c676daf9dcb76e33.tar.gz
crawl-ref-d68e619434409e5356531855c676daf9dcb76e33.zip
Make a few mid cache asserts more informative.
Diffstat (limited to 'crawl-ref/source/dbg-scan.cc')
-rw-r--r--crawl-ref/source/dbg-scan.cc13
1 files changed, 10 insertions, 3 deletions
diff --git a/crawl-ref/source/dbg-scan.cc b/crawl-ref/source/dbg-scan.cc
index 77ad673f02..6ebadb3c22 100644
--- a/crawl-ref/source/dbg-scan.cc
+++ b/crawl-ref/source/dbg-scan.cc
@@ -497,7 +497,9 @@ void debug_mons_scan()
monster* m1 = monster_by_mid(m->mid);
if (m1 != m)
{
- if (m1 && m1->mid == m->mid)
+ if (!m1)
+ die("mid cache bogosity: no monster for %d", m->mid);
+ else if (m1->mid == m->mid)
{
mprf(MSGCH_ERROR,
"Error: monster %s(%d) has same mid as %s(%d) (%d)",
@@ -505,7 +507,7 @@ void debug_mons_scan()
m1->name(DESC_PLAIN, true).c_str(), m1->mindex(), m->mid);
}
else
- ASSERT(monster_by_mid(m->mid) == m);
+ die("mid cache bogosity: wanted %d got %d", m->mid, m1->mid);
}
if (you.constricted_by == m->mid && (!m->constricting
@@ -539,7 +541,12 @@ void debug_mons_scan()
{
unsigned short idx = mc->second;
ASSERT(!invalid_monster_index(idx));
- ASSERT(menv[idx].mid == mc->first);
+ if (menv[idx].mid != mc->first)
+ {
+ monster &m(menv[idx]);
+ die("mid cache bogosity: mid %d points to %s mindex=%d mid=%d",
+ mc->first, m.name(DESC_PLAIN, true).c_str(), m.mindex(), m.mid);
+ }
}
if (in_bounds(you.pos()))