]> granicus.if.org Git - nethack/commitdiff
fix U382 - missing map display update
authornethack.rankin <nethack.rankin>
Mon, 24 Mar 2003 08:58:45 +0000 (08:58 +0000)
committernethack.rankin <nethack.rankin>
Mon, 24 Mar 2003 08:58:45 +0000 (08:58 +0000)
> 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.

doc/fixes34.2
src/dig.c
src/fountain.c
src/pickup.c
src/polyself.c
src/pray.c

index d7eab1373e0fe6ed6124ef6aa45589bd693e626f..054caed726837f601afccbb73f921250ebda3c53 100644 (file)
@@ -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
index beaff70054e38298baf67893e57669ad963f5e5a..18e4d096eec1b11efe47f34f0a5ce60fa86c497d 100644 (file)
--- 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);
index 40e878b83abeab6657c75ba2c01bbe8f75c791a5..a96f1d23525beda96ebcaa658525d901d0bf1631 100644 (file)
@@ -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);
index 07ac3228df9b0617368d4fe0de9ce77fb8cb5779..d76fd040461cfbc31e0254c0fac3948a54fa39a7 100644 (file)
@@ -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 */
 }
 
index 90f682ebe0689a57ab0b7ca535a96892b1a0d589..b458978637200921f75d1b3c28e99e134857da3e 100644 (file)
@@ -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);
 }
 
index 0a51cdfca8894f00e9028c0c8dfbc3d63d046266..5915a890c5a682c3d1235ea08f61e9011270a985 100644 (file)
@@ -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 {