statue glyph save/restore
Remove the code that converted statues shown as monsters into stautes shown as big rocks when saving and then reversed the effect when restoring. It was done to preserve save file compatability with 3.4.3 where statue-as-monster glyphs didn't exist, so is no longer useful.
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.5 display.h $NHDT-Date$ $NHDT-Branch$:$NHDT-Revision$ */
|
||||
/* NetHack 3.5 display.h $NHDT-Date: 1429757270 2015/04/23 02:47:50 $ $NHDT-Branch: master $:$NHDT-Revision: 1.19 $ */
|
||||
/* NetHack 3.5 display.h $Date: 2009/05/06 10:44:38 $ $Revision: 1.14 $ */
|
||||
/* SCCS Id: @(#)display.h 3.5 2005/06/21 */
|
||||
/* Copyright (c) Dean Luick, with acknowledgements to Kevin Darcy */
|
||||
@@ -308,16 +308,6 @@
|
||||
(int) (obj)->otyp + GLYPH_OBJ_OFF)
|
||||
|
||||
|
||||
#define obj_to_glyph_vanilla(obj) \
|
||||
(Hallucination ? \
|
||||
((otg_temp = random_object()) == CORPSE ? \
|
||||
random_monster() + GLYPH_BODY_OFF : \
|
||||
otg_temp + GLYPH_OBJ_OFF) : \
|
||||
((obj)->otyp == CORPSE ? \
|
||||
(int) (obj)->corpsenm + GLYPH_BODY_OFF : \
|
||||
(int) (obj)->otyp + GLYPH_OBJ_OFF))
|
||||
|
||||
|
||||
/* MRKR: Statues now have glyphs corresponding to the monster they */
|
||||
/* brepresent and look like monsters when you are hallucinating. */
|
||||
|
||||
@@ -405,8 +395,6 @@
|
||||
|
||||
#define glyph_is_statue(glyph) \
|
||||
((glyph) >= GLYPH_STATUE_OFF && (glyph) < (GLYPH_STATUE_OFF+NUMMONS))
|
||||
#define GLYPH_STATUE_VANILLA ((int) GLYPH_OBJ_OFF + STATUE)
|
||||
#define glyph_is_statue_vanilla(glyph) ( glyph == GLYPH_STATUE_VANILLA)
|
||||
|
||||
#define glyph_is_ridden_monster(glyph) \
|
||||
((glyph) >= GLYPH_RIDDEN_OFF && (glyph) < (GLYPH_RIDDEN_OFF+NUMMONS))
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.5 restore.c $NHDT-Date: 1426465439 2015/03/16 00:23:59 $ $NHDT-Branch: debug $:$NHDT-Revision: 1.77 $ */
|
||||
/* NetHack 3.5 restore.c $NHDT-Date: 1429757270 2015/04/23 02:47:50 $ $NHDT-Branch: master $:$NHDT-Revision: 1.93 $ */
|
||||
/* NetHack 3.5 restore.c $Date: 2012/02/16 02:40:24 $ $Revision: 1.71 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -124,15 +124,6 @@ find_lev_obj()
|
||||
fobjtmp = otmp->nobj;
|
||||
place_object(otmp, otmp->ox, otmp->oy);
|
||||
}
|
||||
|
||||
/* statue patch: imagine we're loading a vanilla nh file */
|
||||
for(x=0; x<COLNO; x++)
|
||||
for(y=0; y<ROWNO; y++)
|
||||
if ( level.objects[x][y] != 0 &&
|
||||
level.objects[x][y]->otyp == STATUE &&
|
||||
glyph_is_statue_vanilla(levl[x][y].glyph)) {
|
||||
levl[x][y].glyph = obj_to_glyph(level.objects[x][y]);
|
||||
}
|
||||
}
|
||||
|
||||
/* Things that were marked "in_use" when the game was saved (ex. via the
|
||||
|
||||
35
src/save.c
35
src/save.c
@@ -1,4 +1,4 @@
|
||||
/* NetHack 3.5 save.c $NHDT-Date: 1426496455 2015/03/16 09:00:55 $ $NHDT-Branch: master $:$NHDT-Revision: 1.62 $ */
|
||||
/* NetHack 3.5 save.c $NHDT-Date: 1429757271 2015/04/23 02:47:51 $ $NHDT-Branch: master $:$NHDT-Revision: 1.82 $ */
|
||||
/* NetHack 3.5 save.c $Date: 2012/02/16 02:40:24 $ $Revision: 1.53 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
@@ -82,23 +82,6 @@ static long nulls[sizeof(struct trap) + sizeof(struct fruit)];
|
||||
#define HUP
|
||||
#endif
|
||||
|
||||
|
||||
/* compute object glyphs for vanilla nethack -- statue patch */
|
||||
void
|
||||
make_glyphs_vanilla(lev)
|
||||
xchar lev;
|
||||
{
|
||||
int x,y;
|
||||
|
||||
for (x = 0; x < COLNO; x++)
|
||||
for (y = 0; y < ROWNO; y++)
|
||||
if ( level.objects[x][y] != 0 &&
|
||||
level.objects[x][y]->otyp == STATUE &&
|
||||
glyph_is_statue(levl[x][y].glyph))
|
||||
levl[x][y].glyph = obj_to_glyph_vanilla(level.objects[x][y]);
|
||||
}
|
||||
|
||||
|
||||
/* need to preserve these during save to avoid accessing freed memory */
|
||||
static unsigned ustuck_id = 0, usteed_id = 0;
|
||||
|
||||
@@ -487,20 +470,16 @@ int mode;
|
||||
short tlev;
|
||||
#endif
|
||||
|
||||
/* make remembered glyphs correct fo rloading into vanilla nh */
|
||||
make_glyphs_vanilla(lev);
|
||||
|
||||
/* if we're tearing down the current level without saving anything
|
||||
(which happens upon entrance to the endgame or after an aborted
|
||||
restore attempt) then we don't want to do any actual I/O */
|
||||
if (mode == FREE_SAVE) goto skip_lots;
|
||||
if (iflags.purge_monsters) {
|
||||
/* purge any dead monsters (necessary if we're starting
|
||||
* a panic save rather than a normal one, or sometimes
|
||||
* when changing levels without taking time -- e.g.
|
||||
* create statue trap then immediately level teleport) */
|
||||
dmonsfree();
|
||||
}
|
||||
|
||||
/* purge any dead monsters (necessary if we're starting
|
||||
a panic save rather than a normal one, or sometimes
|
||||
when changing levels without taking time -- e.g.
|
||||
create statue trap then immediately level teleport) */
|
||||
if (iflags.purge_monsters) dmonsfree();
|
||||
|
||||
if(fd < 0) panic("Save on bad file!"); /* impossible */
|
||||
#ifdef MFLOPPY
|
||||
|
||||
Reference in New Issue
Block a user