From: nethack.rankin Date: Mon, 24 Mar 2003 08:58:45 +0000 (+0000) Subject: fix U382 - missing map display update X-Git-Tag: MOVE2GIT~2054 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=213bd793fde27eaebab7bdd7ff329e2c45fe261b;p=nethack fix U382 - missing map display update > Receiving Excalibur from a fountain while blind doesn't update the > display (i.e. the missing fountain) immediately. Various other topology changes had the same problem. The display was only being updated if the hero was invisible on the assumption that it wouldn't matter otherwise, but a blind character who moved off the affected location would still have the old map info (fountain, trap, &c) shown--until he walked back onto that spot or searched next to it or regained sight--even though the player is told about the map change as it happens. --- diff --git a/doc/fixes34.2 b/doc/fixes34.2 index d7eab1373..054caed72 100644 --- a/doc/fixes34.2 +++ b/doc/fixes34.2 @@ -28,6 +28,7 @@ charge correctly when breaking multiple objects with the same zap, avoids a dopay: not to shopkeeper impossible clean up funny lighting on the healer locate level allow all tame monsters that eat to consider food thrown to them +the screen display wasn't always up to date after map topology changes Platform- and/or Interface-Specific Fixes diff --git a/src/dig.c b/src/dig.c index beaff7005..18e4d096e 100644 --- a/src/dig.c +++ b/src/dig.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)dig.c 3.4 2003/01/29 */ +/* SCCS Id: @(#)dig.c 3.4 2003/03/23 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1185,7 +1185,7 @@ zap_dig() (void)xname(otmp); /* set dknown, maybe bknown */ stackobj(otmp); } - if (Invisible) newsym(u.ux, u.uy); + newsym(u.ux, u.uy); } else { watch_dig((struct monst *)0, u.ux, u.uy, TRUE); (void) dighole(FALSE); diff --git a/src/fountain.c b/src/fountain.c index 40e878b83..a96f1d235 100644 --- a/src/fountain.c +++ b/src/fountain.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)fountain.c 3.4 2002/09/08 */ +/* SCCS Id: @(#)fountain.c 3.4 2003/03/23 */ /* Copyright Scott R. Turner, srt@ucla, 10/27/86 */ /* NetHack may be freely redistributed. See license for details. */ @@ -386,7 +386,7 @@ register struct obj *obj; update_inventory(); levl[u.ux][u.uy].typ = ROOM; levl[u.ux][u.uy].looted = 0; - if(Invisible) newsym(u.ux, u.uy); + newsym(u.ux, u.uy); level.flags.nfountains--; if(in_town(u.ux, u.uy)) (void) angry_guards(FALSE); diff --git a/src/pickup.c b/src/pickup.c index 07ac3228d..d76fd0404 100644 --- a/src/pickup.c +++ b/src/pickup.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)pickup.c 3.4 2003/01/08 */ +/* SCCS Id: @(#)pickup.c 3.4 2003/03/23 */ /* Copyright (c) Stichting Mathematisch Centrum, Amsterdam, 1985. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1306,7 +1306,7 @@ struct obj *otmp; } if (otmp->no_charge) /* only applies to objects outside invent */ otmp->no_charge = 0; - if (Invisible) newsym(otmp->ox, otmp->oy); + newsym(otmp->ox, otmp->oy); return addinv(otmp); /* might merge it with other objects */ } diff --git a/src/polyself.c b/src/polyself.c index 90f682ebe..b45897863 100644 --- a/src/polyself.c +++ b/src/polyself.c @@ -849,11 +849,11 @@ dospinweb() case SPIKED_PIT: You("spin a web, covering up the pit."); deltrap(ttmp); bury_objs(u.ux, u.uy); - if (Invisible) newsym(u.ux, u.uy); + newsym(u.ux, u.uy); return(1); case SQKY_BOARD: pline_The("squeaky board is muffled."); deltrap(ttmp); - if (Invisible) newsym(u.ux, u.uy); + newsym(u.ux, u.uy); return(1); case TELEP_TRAP: case LEVEL_TELEP: @@ -867,12 +867,12 @@ dospinweb() You("web over the %s.", (ttmp->ttyp == TRAPDOOR) ? "trap door" : "hole"); deltrap(ttmp); - if (Invisible) newsym(u.ux, u.uy); + newsym(u.ux, u.uy); return 1; case ROLLING_BOULDER_TRAP: You("spin a web, jamming the trigger."); deltrap(ttmp); - if (Invisible) newsym(u.ux, u.uy); + newsym(u.ux, u.uy); return(1); case ARROW_TRAP: case DART_TRAP: @@ -897,7 +897,7 @@ dospinweb() ttmp->tseen = 1; ttmp->madeby_u = 1; } - if (Invisible) newsym(u.ux, u.uy); + newsym(u.ux, u.uy); return(1); } diff --git a/src/pray.c b/src/pray.c index 0a51cdfca..5915a890c 100644 --- a/src/pray.c +++ b/src/pray.c @@ -1,4 +1,4 @@ -/* SCCS Id: @(#)pray.c 3.4 2003/03/10 */ +/* SCCS Id: @(#)pray.c 3.4 2003/03/23 */ /* Copyright (c) Benson I. Margulies, Mike Stephenson, Steve Linhart, 1989. */ /* NetHack may be freely redistributed. See license for details. */ @@ -1195,7 +1195,7 @@ dosacrifice() an(hcolor(NH_BLACK))); levl[u.ux][u.uy].typ = ROOM; levl[u.ux][u.uy].altarmask = 0; - if(Invisible) newsym(u.ux, u.uy); + newsym(u.ux, u.uy); angry_priest(); demonless_msg = "cloud dissipates"; } else {