Merge branch 'master' into win32-x64-working
Conflicts: src/restore.c src/save.c
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 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -123,15 +123,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 $ */
|
||||
/* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */
|
||||
/* NetHack may be freely redistributed. See license for details. */
|
||||
|
||||
@@ -81,23 +81,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;
|
||||
|
||||
@@ -486,20 +469,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