#include "sprite/sprite_manager.hpp"
#include "supertux/fadeout.hpp"
#include "supertux/globals.hpp"
-#include "supertux/mainloop.hpp"
+#include "supertux/screen_manager.hpp"
#include "supertux/resources.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 = sprite_manager->create("images/creatures/tux/tux.sprite");
player_sprite->set_action("small-walk-right");
- player_sprite_jump_timer.start(systemRandom.randf(5,10));
+ player_sprite_jump_timer.start(graphicsRandom.randf(5,10));
}
LevelIntro::~LevelIntro()
void
LevelIntro::update(float elapsed_time)
{
+ Controller *controller = g_jk_controller->get_main_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_main_loop->exit_screen(new FadeOut(0.1));
+ if(controller->pressed(Controller::JUMP)
+ || controller->pressed(Controller::ACTION)
+ || controller->pressed(Controller::MENU_SELECT)
+ || controller->pressed(Controller::PAUSE_MENU)) {
+ g_screen_manager->exit_screen(new FadeOut(0.1));
}
player_sprite_py += player_sprite_vy * elapsed_time;
}
if (player_sprite_jump_timer.check()) {
player_sprite_vy = -300;
- player_sprite_jump_timer.start(systemRandom.randf(2,3));
+ player_sprite_jump_timer.start(graphicsRandom.randf(2,3));
}
}
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());
}
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;