From c864015af9d5fec1b56777a612d7459843d17214 Mon Sep 17 00:00:00 2001 From: "John \"Elwin\" Edwards" Date: Thu, 2 Jul 2015 08:04:16 -0400 Subject: [PATCH] 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. --- arogue5/scrolls.c | 18 +++++++++++++++--- arogue7/scrolls.c | 20 +++++++++++++------- xrogue/scrolls.c | 10 ++++++---- 3 files changed, 34 insertions(+), 14 deletions(-) diff --git a/arogue5/scrolls.c b/arogue5/scrolls.c index ebccd0b..fae7039 100644 --- a/arogue5/scrolls.c +++ b/arogue5/scrolls.c @@ -317,8 +317,10 @@ bool is_scroll; * 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 @@ bool is_scroll; * 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 @@ bool is_scroll; } if (gtotal) { if (is_scroll) s_know[S_GFIND] = TRUE; - msg("You begin to feel greedy and you sense gold."); + waddstr(msgw, morestr); + draw(msgw); + wait_for(msgw, ' '); + msg(""); overlay(hw,cw); + draw(cw); + msg("You begin to feel greedy and you sense gold."); break; } } diff --git a/arogue7/scrolls.c b/arogue7/scrolls.c index 85682a9..68c7429 100644 --- a/arogue7/scrolls.c +++ b/arogue7/scrolls.c @@ -291,10 +291,11 @@ bool is_scroll; /* * 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 @@ bool is_scroll; * 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 @@ bool is_scroll; } 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); - overlay(hw, cw); - draw(cw); wait_for(' '); msg(""); + overlay(hw, cw); + draw(cw); + msg("You begin to feel greedy and you sense gold."); break; } } diff --git a/xrogue/scrolls.c b/xrogue/scrolls.c index b073d95..aefa351 100644 --- a/xrogue/scrolls.c +++ b/xrogue/scrolls.c @@ -333,10 +333,7 @@ bool is_scroll; 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 @@ bool is_scroll; * 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: /*