[cppcheck] Part 2: Some further style fixes etc.
[supertux.git] / src / supertux / levelintro.cpp
index e8feeac..311387d 100644 (file)
@@ -16,7 +16,7 @@
 
 #include "supertux/levelintro.hpp"
 
-#include "control/joystickkeyboardcontroller.hpp"
+#include "control/input_manager.hpp"
 #include "math/random_generator.hpp"
 #include "sprite/sprite_manager.hpp"
 #include "supertux/fadeout.hpp"
 #include "util/gettext.hpp"
 
 #include <sstream>
+#include <boost/format.hpp>
 
-LevelIntro::LevelIntro(const Level* level, const Statistics* best_level_statistics) :
-  level(level), 
-  best_level_statistics(best_level_statistics), 
-  player_sprite(),
-  player_sprite_py(0), 
+LevelIntro::LevelIntro(const Level* level_, const Statistics* best_level_statistics_) :
+  level(level_),
+  best_level_statistics(best_level_statistics_),
+  player_sprite(SpriteManager::current()->create("images/creatures/tux/tux.sprite")),
+  player_sprite_py(0),
   player_sprite_vy(0),
   player_sprite_jump_timer()
 {
-  player_sprite = sprite_manager->create("images/creatures/tux/tux.sprite");
   player_sprite->set_action("small-walk-right");
   player_sprite_jump_timer.start(graphicsRandom.randf(5,10));
 }
@@ -52,13 +52,15 @@ LevelIntro::setup()
 void
 LevelIntro::update(float elapsed_time)
 {
+  Controller *controller = InputManager::current()->get_controller();
 
   // Check if it's time to exit the screen
-  if(g_main_controller->pressed(Controller::JUMP)
-     || g_main_controller->pressed(Controller::ACTION)
-     || g_main_controller->pressed(Controller::MENU_SELECT)
-     || g_main_controller->pressed(Controller::PAUSE_MENU)) {
-    g_screen_manager->exit_screen(new FadeOut(0.1));
+  if(controller->pressed(Controller::JUMP)
+     || controller->pressed(Controller::ACTION)
+     || controller->pressed(Controller::MENU_SELECT)
+     || controller->pressed(Controller::START)
+     || controller->pressed(Controller::ESCAPE)) {
+    ScreenManager::current()->pop_screen(std::unique_ptr<ScreenFade>(new FadeOut(0.1)));
   }
 
   player_sprite_py += player_sprite_vy * elapsed_time;
@@ -71,7 +73,7 @@ LevelIntro::update(float elapsed_time)
     player_sprite_vy = -300;
     player_sprite_jump_timer.start(graphicsRandom.randf(2,3));
   }
-  
+
 }
 
 void
@@ -89,7 +91,7 @@ LevelIntro::draw(DrawingContext& context)
 
   std::string author = level->get_author();
   if ((author != "") && (author != "SuperTux Team")) {
-    std::string author_text = std::string(_("contributed by ")) + author;
+    std::string author_text = str(boost::format(_("contributed by %s")) % author);
     context.draw_center_text(Resources::small_font, author_text, Vector(0, py), LAYER_FOREGROUND1, LevelIntro::author_color);
     py += static_cast<int>(Resources::small_font->get_height());
   }
@@ -114,7 +116,14 @@ LevelIntro::draw(DrawingContext& context)
     context.draw_center_text(Resources::normal_font, ss.str(), Vector(0, py), LAYER_FOREGROUND1, LevelIntro::stat_color);
     py += static_cast<int>(Resources::normal_font->get_height());
   }
-  
+       
+  {
+    std::stringstream ss;
+    ss << _("Badguys killed") << ": " << Statistics::frags_to_string((best_level_statistics && (best_level_statistics->coins >= 0)) ? best_level_statistics->badguys : 0, stats.total_badguys);
+    context.draw_center_text(Resources::normal_font, ss.str(), Vector(0, py), LAYER_FOREGROUND1,LevelIntro::stat_color);
+    py += static_cast<int>(Resources::normal_font->get_height());
+  }
+
   {
     std::stringstream ss;
     ss << _("Secrets") << ": " << Statistics::secrets_to_string((best_level_statistics && (best_level_statistics->coins >= 0)) ? best_level_statistics->secrets : 0, stats.total_secrets);
@@ -124,11 +133,17 @@ LevelIntro::draw(DrawingContext& context)
 
   {
     std::stringstream ss;
-    ss << _("Time") << ": " << Statistics::time_to_string((best_level_statistics && (best_level_statistics->coins >= 0)) ? best_level_statistics->time : 0);
+    ss << _("Best time") << ": " << Statistics::time_to_string((best_level_statistics && (best_level_statistics->coins >= 0)) ? best_level_statistics->time : 0);
     context.draw_center_text(Resources::normal_font, ss.str(), Vector(0, py), LAYER_FOREGROUND1,LevelIntro::stat_color);
     py += static_cast<int>(Resources::normal_font->get_height());
   }
 
+  if(level->target_time){
+    std::stringstream ss;
+    ss << _("Level target time") << ": " << Statistics::time_to_string(level->target_time);
+    context.draw_center_text(Resources::normal_font, ss.str(), Vector(0, py), LAYER_FOREGROUND1,LevelIntro::stat_color);
+  }
+
 }
 
 /* EOF */