changeset 170:0298a68cc179

Advanced Rogue family: fix messages from some scrolls. When scrolls of magic mapping or gold detection were read, their characteristic messages were displayed before overwriting the whole screen to show the newly discovered information. They are now shown after updating the screen, so they will be visible.
author John "Elwin" Edwards
date Thu, 02 Jul 2015 08:04:16 -0400
parents 0d9ebab59a66
children 80c060734f51
files arogue5/scrolls.c arogue7/scrolls.c xrogue/scrolls.c
diffstat 3 files changed, 34 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
--- a/arogue5/scrolls.c	Tue Jun 30 15:32:32 2015 -0400
+++ b/arogue5/scrolls.c	Thu Jul 02 08:04:16 2015 -0400
@@ -317,8 +317,10 @@
 	     * Scroll of magic mapping.
 	     */
 	    if (is_scroll && s_know[S_MAP] != TRUE) {
-		msg("Oh, now this scroll has a map on it.");
-		s_know[S_MAP] = TRUE;
+	        waddstr(msgw, morestr);
+                draw(msgw);
+                wait_for(msgw, ' ');
+	        msg("");
 	    }
 	    overwrite(stdscr, hw);
 	    /*
@@ -361,6 +363,11 @@
 	     * And set up for display
 	     */
 	    overwrite(hw, cw);
+            draw(cw);
+	    if (is_scroll && s_know[S_MAP] != TRUE) {
+		msg("Oh, now this scroll has a map on it.");
+		s_know[S_MAP] = TRUE;
+            }
 	when S_GFIND:
 	    /*
 	     * Scroll of gold detection
@@ -380,8 +387,13 @@
 		}
 		if (gtotal) {
 		    if (is_scroll) s_know[S_GFIND] = TRUE;
+		    waddstr(msgw, morestr);
+                    draw(msgw);
+                    wait_for(msgw, ' ');
+		    msg("");
+		    overlay(hw,cw);
+                    draw(cw);
 		    msg("You begin to feel greedy and you sense gold.");
-		    overlay(hw,cw);
 		    break;
 		}
 	    }
--- a/arogue7/scrolls.c	Tue Jun 30 15:32:32 2015 -0400
+++ b/arogue7/scrolls.c	Thu Jul 02 08:04:16 2015 -0400
@@ -291,10 +291,11 @@
 	    /*
 	     * Scroll of magic mapping.
 	     */
-	    if (is_scroll && s_know[S_MAP] != TRUE) {
-		msg("Oh, now this scroll has a map on it.");
-		s_know[S_MAP] = TRUE;
-	    }
+	    waddstr(msgw, morestr);
+	    clearok(msgw, FALSE);
+	    draw(msgw);
+	    wait_for(' ');
+	    msg("");
 	    overwrite(stdscr, hw);
 	    /*
 	     * Take all the things we want to keep hidden out of the window
@@ -336,6 +337,11 @@
 	     * And set up for display
 	     */
 	    overwrite(hw, cw);
+            draw(cw);
+	    if (is_scroll && s_know[S_MAP] != TRUE) {
+		msg("Oh, now this scroll has a map on it.");
+		s_know[S_MAP] = TRUE;
+	    }
 	when S_GFIND:
 	    /*
 	     * Scroll of gold detection
@@ -367,14 +373,14 @@
 		}
 		if (gtotal) {
 		    if (is_scroll) s_know[S_GFIND] = TRUE;
-		    msg("You begin to feel greedy and you sense gold.");
 		    waddstr(msgw, morestr);
 		    clearok(msgw, FALSE);
 		    draw(msgw);
+		    wait_for(' ');
+		    msg("");
 		    overlay(hw, cw);
 		    draw(cw);
-		    wait_for(' ');
-		    msg("");
+		    msg("You begin to feel greedy and you sense gold.");
 		    break;
 		}
 	    }
--- a/xrogue/scrolls.c	Tue Jun 30 15:32:32 2015 -0400
+++ b/xrogue/scrolls.c	Thu Jul 02 08:04:16 2015 -0400
@@ -333,10 +333,7 @@
                 draw(cw);
                 goto map_jump;          /* skip over regular mapping routine */
             }
-            if (is_scroll && s_know[S_MAP] != TRUE) {
-                msg("Oh, now this scroll has a map on it.");
-                s_know[S_MAP] = TRUE;
-            }
+            rmmsg();
             overwrite(stdscr, hw);
             /*
              * Take all the things we want to keep hidden out of the window
@@ -378,6 +375,11 @@
              * And set up for display
              */
             overwrite(hw, cw);
+            draw(cw);
+            if (is_scroll && s_know[S_MAP] != TRUE) {
+                msg("Oh, now this scroll has a map on it.");
+                s_know[S_MAP] = TRUE;
+            }
             map_jump:           /* blessed map jump from above */
         when S_GFIND:
             /*