Remove overview for wizmode regenerated map
The wizmakemap command throws away the current level, so don't keep the overview data for it around.
This commit is contained in:
@@ -607,6 +607,7 @@ E int NDECL(donamelevel);
|
||||
E int NDECL(dooverview);
|
||||
E void FDECL(show_overview, (int, int));
|
||||
E void FDECL(forget_mapseen, (int));
|
||||
E void FDECL(rm_mapseen, (int));
|
||||
E void FDECL(init_mapseen, (d_level *));
|
||||
E void NDECL(recalc_mapseen);
|
||||
E void FDECL(mapseen_temple, (struct monst *));
|
||||
|
||||
@@ -626,6 +626,7 @@ wiz_makemap(VOID_ARGS)
|
||||
if (wizard) {
|
||||
struct monst *mtmp;
|
||||
|
||||
rm_mapseen(ledger_no(&u.uz));
|
||||
for (mtmp = fmon; mtmp; mtmp = mtmp->nmon)
|
||||
if (mtmp->isshk)
|
||||
setpaid(mtmp);
|
||||
|
||||
@@ -2109,6 +2109,39 @@ int ledger_num;
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
rm_mapseen(ledger_num)
|
||||
int ledger_num;
|
||||
{
|
||||
mapseen *mptr, *mprev = (mapseen *)0;
|
||||
struct cemetery *bp, *bpnext;
|
||||
|
||||
for (mptr = mapseenchn; mptr; mprev = mptr, mptr = mptr->next)
|
||||
if (dungeons[mptr->lev.dnum].ledger_start + mptr->lev.dlevel == ledger_num)
|
||||
break;
|
||||
|
||||
if (!mptr)
|
||||
return;
|
||||
|
||||
if (mptr->custom)
|
||||
free((genericptr_t) mptr->custom);
|
||||
|
||||
bp = mptr->final_resting_place;
|
||||
while (bp) {
|
||||
bpnext = bp->next;
|
||||
free(bp);
|
||||
bp = bpnext;
|
||||
}
|
||||
|
||||
if (mprev) {
|
||||
mprev->next = mptr->next;
|
||||
free(mptr);
|
||||
} else {
|
||||
mapseenchn = mptr->next;
|
||||
free(mptr);
|
||||
}
|
||||
}
|
||||
|
||||
STATIC_OVL void
|
||||
save_mapseen(fd, mptr)
|
||||
int fd;
|
||||
|
||||
Reference in New Issue
Block a user