diff options
author | Adam Borowski <kilobyte@angband.pl> | 2013-11-19 22:41:21 +0100 |
---|---|---|
committer | Adam Borowski <kilobyte@angband.pl> | 2013-11-21 01:13:08 +0100 |
commit | d68e619434409e5356531855c676daf9dcb76e33 (patch) | |
tree | c965ed73da71cb718ccef0d1c740e99279671176 /crawl-ref/source/dbg-scan.cc | |
parent | 0673ff4bcac89b97b999d6073c49246548f47a58 (diff) | |
download | crawl-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.cc | 13 |
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())) |