summaryrefslogtreecommitdiffstats
path: root/crawl-ref/source/output.cc
diff options
context:
space:
mode:
Diffstat (limited to 'crawl-ref/source/output.cc')
-rw-r--r--crawl-ref/source/output.cc23
1 files changed, 23 insertions, 0 deletions
diff --git a/crawl-ref/source/output.cc b/crawl-ref/source/output.cc
index 76058d803b..eb0e98043a 100644
--- a/crawl-ref/source/output.cc
+++ b/crawl-ref/source/output.cc
@@ -784,6 +784,20 @@ static void _print_status_lights(int y)
}
}
+static bool _need_stats_printed()
+{
+ return you.redraw_hit_points
+ || you.redraw_magic_points
+ || you.redraw_armour_class
+ || you.redraw_evasion
+ || you.redraw_strength
+ || you.redraw_intelligence
+ || you.redraw_dexterity
+ || you.redraw_experience
+ || you.wield_change
+ || you.redraw_quiver;
+}
+
void print_stats(void)
{
textcolor(LIGHTGREY);
@@ -797,6 +811,10 @@ void print_stats(void)
if (MP_Bar.wants_redraw())
you.redraw_magic_points = true;
+#ifdef USE_TILE
+ bool has_changed = _need_stats_printed();
+#endif
+
if (you.redraw_hit_points) { you.redraw_hit_points = false; _print_stats_hp ( 1, 3); }
if (you.redraw_magic_points) { you.redraw_magic_points = false; _print_stats_mp ( 1, 4); }
if (you.redraw_armour_class) { you.redraw_armour_class = false; _print_stats_ac ( 1, 5); }
@@ -862,7 +880,12 @@ void print_stats(void)
}
textcolor(LIGHTGREY);
+#ifdef USE_TILE
+ if (has_changed)
+ update_screen();
+#else
update_screen();
+#endif
}
static std::string _level_description_string_hud()