- if(main_controller->hold(Controller::UP)) {
- speed = -defaultspeed*5;
- } else if(main_controller->hold(Controller::DOWN)) {
- speed = defaultspeed*5;
- } else {
- speed = defaultspeed;
- }
- if(main_controller->pressed(Controller::JUMP)
- || main_controller->pressed(Controller::ACTION)
- || main_controller->pressed(Controller::MENU_SELECT))
- scroll += SCROLL;
- if(main_controller->pressed(Controller::PAUSE_MENU))
- done = true;
+ // load background image
+ background.reset(new Surface("images/background/" + background_file));
+
+ scroll = 0;
+}
+
+TextScroller::~TextScroller()
+{
+ for(std::map<std::string, Surface*>::iterator i = images.begin();
+ i != images.end(); ++i)
+ delete i->second;
+}
+
+void
+TextScroller::setup()
+{
+ sound_manager->play_music(music);
+ Menu::set_current(NULL);
+}
+
+void
+TextScroller::update(float elapsed_time)
+{
+ if(main_controller->hold(Controller::UP)) {
+ speed = -defaultspeed*5;
+ } else if(main_controller->hold(Controller::DOWN)) {
+ speed = defaultspeed*5;
+ } else {
+ speed = defaultspeed;
+ }
+ if(main_controller->pressed(Controller::JUMP)
+ || main_controller->pressed(Controller::ACTION)
+ || main_controller->pressed(Controller::MENU_SELECT))
+ scroll += SCROLL;
+ if(main_controller->pressed(Controller::PAUSE_MENU)) {
+ fadeout(500);
+ main_loop->exit_screen();
+ }
+
+ scroll += speed * elapsed_time;