summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/invent.cc
diff options
context:
space:
mode:
authorzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-05-28 03:58:15 +0000
committerzelgadis <zelgadis@c06c8d41-db1a-0410-9941-cceddc491573>2009-05-28 03:58:15 +0000
commitbb8e9480efb1259fbb2da1e07bdfc0b613c68eea (patch)
tree39e4212ac5b39bae9c29959cccac479e3df5f414 /crawl-ref/source/invent.cc
parent0e9f823830bc5395267bc0eb795d7b1877ae5681 (diff)
downloadcrawl-ref-bb8e9480efb1259fbb2da1e07bdfc0b613c68eea.tar.gz
crawl-ref-bb8e9480efb1259fbb2da1e07bdfc0b613c68eea.zip
Reduce screen-flicker and clearing of the message window when re-doing the
previous command (`) (at least for actions involving selecting an item from inventory, selecting an ability to use, selecting a spell to cast, and selecting a spell to memorize). Not tested with the tiles build. git-svn-id: https://crawl-ref.svn.sourceforge.net/svnroot/crawl-ref/trunk@9839 c06c8d41-db1a-0410-9941-cceddc491573
Diffstat (limited to 'crawl-ref/source/invent.cc')
-rw-r--r--crawl-ref/source/invent.cc23
1 files changed, 16 insertions, 7 deletions
diff --git a/crawl-ref/source/invent.cc b/crawl-ref/source/invent.cc
index 45b22896c0..be0bbc721d 100644
--- a/crawl-ref/source/invent.cc
+++ b/crawl-ref/source/invent.cc
@@ -896,7 +896,10 @@ unsigned char get_invent(int invent_type)
else
break;
}
- redraw_screen();
+
+ if (!crawl_state.doing_prev_cmd_again)
+ redraw_screen();
+
return select;
} // end get_invent()
@@ -1206,7 +1209,7 @@ std::vector<SelItem> prompt_invent_items(
int count = -1;
while (true)
{
- if (need_redraw)
+ if (need_redraw && !crawl_state.doing_prev_cmd_again)
{
redraw_screen();
mesclr( true );
@@ -1258,8 +1261,11 @@ std::vector<SelItem> prompt_invent_items(
if (items.size())
{
- redraw_screen();
- mesclr(true);
+ if (!crawl_state.doing_prev_cmd_again)
+ {
+ redraw_screen();
+ mesclr(true);
+ }
for (unsigned int i = 0; i < items.size(); ++i)
items[i].slot = letter_to_index( items[i].slot );
@@ -1566,7 +1572,7 @@ int prompt_invent_item( const char *prompt,
while (true)
{
- if (need_redraw)
+ if (need_redraw && !crawl_state.doing_prev_cmd_again)
{
redraw_screen();
mesclr( true );
@@ -1624,8 +1630,11 @@ int prompt_invent_item( const char *prompt,
if (count)
*count = items[0].quantity;
- redraw_screen();
- mesclr( true );
+ if (!crawl_state.doing_prev_cmd_again)
+ {
+ redraw_screen();
+ mesclr( true );
+ }
}
}
else if (count != NULL && isdigit( keyin ))