free overview->final_resting_place
The #overview command can provide some feedback about levels loaded from bones files; that data wasn't being released at end of game. (There are two copies of that data, one set always in memory with the overview data [final_resting_place field in the 'mapseen' data], and another set with portions attached to each relevant level [via level.bonesinfo]. Neither set was being properly freed; this only addresses one of them, so far. The per-level data can probably be eliminated--for post-3.6--since DUNGEON_OVERVIEW isn't a conditional feature as it was when that was implemented.)
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.18 $ $NHDT-Date: 1558794988 2019/05/25 14:36:28 $
|
||||
$NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.22 $ $NHDT-Date: 1558853011 2019/05/26 06:43:31 $
|
||||
|
||||
This fixes36.3 file is here to capture information about updates in the 3.6.x
|
||||
lineage following the release of 3.6.2 in May 2019. Please note, however,
|
||||
@@ -24,6 +24,7 @@ when co-located with a boulder you could sometimes swap places with pets of
|
||||
on rare occasions, multiple mine's end luckstones were being marked as the
|
||||
prize and triggering an impossible() on a public server
|
||||
make sure the correct luckstone is the prize in mine's end
|
||||
free dungeon overview's bones information at end of game
|
||||
|
||||
|
||||
Fixes to Post-3.6.2 Problems that Were Exposed Via git Repository
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.6 dungeon.c $NHDT-Date: 1554341477 2019/04/04 01:31:17 $ $NHDT-Branch: NetHack-3.6.2-beta01 $:$NHDT-Revision: 1.92 $ */
|
||||
/* NetHack 3.6 dungeon.c $NHDT-Date: 1558853012 2019/05/26 06:43:32 $ $NHDT-Branch: NetHack-3.6 $:$NHDT-Revision: 1.94 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/*-Copyright (c) Robert Patrick Rankin, 2012. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -181,6 +181,8 @@ boolean perform_write, free_data;
|
||||
next_ms = curr_ms->next;
|
||||
if (curr_ms->custom)
|
||||
free((genericptr_t) curr_ms->custom);
|
||||
if (curr_ms->final_resting_place)
|
||||
savecemetery(fd, FREE_SAVE, &curr_ms->final_resting_place);
|
||||
free((genericptr_t) curr_ms);
|
||||
}
|
||||
mapseenchn = 0;
|
||||
@@ -2155,7 +2157,8 @@ int ledger_num;
|
||||
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)
|
||||
if (dungeons[mptr->lev.dnum].ledger_start + mptr->lev.dlevel
|
||||
== ledger_num)
|
||||
break;
|
||||
|
||||
if (!mptr)
|
||||
@@ -2652,8 +2655,7 @@ recalc_mapseen()
|
||||
}
|
||||
|
||||
/*ARGUSED*/
|
||||
/* valley and sanctum levels get automatic annotation once temple is entered
|
||||
*/
|
||||
/* valley and sanctum levels get automatic annotation once temple is entered */
|
||||
void
|
||||
mapseen_temple(priest)
|
||||
struct monst *priest UNUSED; /* currently unused; might be useful someday */
|
||||
|
||||
Reference in New Issue
Block a user