X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fstatistics.cpp;h=0b1498dc12e558acaadc01e05d2b5e8634013511;hb=2d97548e5cded4b201bbc10d6cec6232df03e9a4;hp=5c57313584cab360c9aad5d1a340ddabf89ca5a1;hpb=6ca01d5bde8eeaefe843f64a987d6ab7eb50435b;p=supertux.git diff --git a/src/statistics.cpp b/src/statistics.cpp index 5c5731358..0b1498dc1 100644 --- a/src/statistics.cpp +++ b/src/statistics.cpp @@ -17,6 +17,8 @@ // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA // 02111-1307, USA. +#include + #include "utils/lispreader.h" #include "utils/lispwriter.h" #include "video/drawing_context.h" @@ -56,7 +58,6 @@ return std::min(a, b); Statistics::Statistics() { - timer.init(true); display_stat = 1; for(int i = 0; i < NUM_STATS; i++) @@ -100,7 +101,7 @@ Statistics::draw_worldmap_info(DrawingContext& context) if(stats[SCORE_STAT][SPLAYER] == -1) // not initialized yet return; - if(!timer.check()) + if(timer.check()) { timer.start(TOTAL_DISPLAY_TIME); display_stat++; @@ -108,14 +109,6 @@ Statistics::draw_worldmap_info(DrawingContext& context) display_stat = 1; } - int alpha; - if(timer.get_gone() < FADING_TIME) - alpha = timer.get_gone() * 255 / FADING_TIME; - else if(timer.get_left() < FADING_TIME) - alpha = timer.get_left() * 255 / FADING_TIME; - else - alpha = 255; - char str[128]; context.draw_text(white_small_text, _("- Best Level Statistics -"), @@ -130,6 +123,17 @@ Statistics::draw_worldmap_info(DrawingContext& context) // draw other small info + int alpha; + if(timer.get_timegone() < FADING_TIME) + alpha = int(timer.get_timegone() * 255 / FADING_TIME); + else if(timer.get_timeleft() < FADING_TIME) + alpha = int(timer.get_timeleft() * 255 / FADING_TIME); + else + alpha = 255; + + context.push_transform(); + context.set_alpha(alpha); + if(display_stat == COINS_COLLECTED_STAT) sprintf(str, _("Max coins collected:")); else if(display_stat == BADGUYS_KILLED_STAT) @@ -137,7 +141,7 @@ Statistics::draw_worldmap_info(DrawingContext& context) else// if(display_stat == TIME_NEEDED_STAT) sprintf(str, _("Min time needed:")); - context.draw_text(white_small_text, str, Vector(WMAP_INFO_LEFT_X, 508), LEFT_ALLIGN, LAYER_GUI, NONE_EFFECT, alpha); + context.draw_text(white_small_text, str, Vector(WMAP_INFO_LEFT_X, 508), LEFT_ALLIGN, LAYER_GUI); if(display_stat == COINS_COLLECTED_STAT) sprintf(str, "%d/%d", stats[COINS_COLLECTED_STAT][SPLAYER], @@ -149,7 +153,9 @@ Statistics::draw_worldmap_info(DrawingContext& context) sprintf(str, "%d/%d", stats[TIME_NEEDED_STAT][SPLAYER], stats[TIME_NEEDED_STAT][STOTAL]); - context.draw_text(white_small_text, str, Vector(WMAP_INFO_RIGHT_X, 508), RIGHT_ALLIGN, LAYER_GUI, NONE_EFFECT, alpha); + context.draw_text(white_small_text, str, Vector(WMAP_INFO_RIGHT_X, 508), RIGHT_ALLIGN, LAYER_GUI); + + context.pop_transform(); } void