-Worldmap cleanups (use DrawingContext transformstack)
[supertux.git] / src / title.cpp
index 3f0f3a5..93ec351 100644 (file)
@@ -36,7 +36,6 @@
 #include <ctype.h>
 #endif
 
-#include "defines.h"
 #include "app/globals.h"
 #include "title.h"
 #include "video/screen.h"
@@ -52,7 +51,7 @@
 #include "gameloop.h"
 #include "worldmap.h"
 #include "leveleditor.h"
-#include "scene.h"
+#include "player_status.h"
 #include "tile.h"
 #include "sector.h"
 #include "object/tilemap.h"
@@ -61,6 +60,7 @@
 #include "resources.h"
 #include "app/gettext.h"
 #include "misc.h"
+#include "textscroller.h"
 
 static Surface* bkg_title;
 static Surface* logo;
@@ -84,9 +84,8 @@ static FrameRate frame_rate(100);
  */
 void resume_demo()
 {
-  // FIXME: shouldn't be needed if GameSession
-  // didn't relay on global variables
-  titlesession->get_current_sector()->activate();
+  player_status.reset();
+  titlesession->get_current_sector()->activate("main");
   titlesession->set_current();
 
   frame_rate.update();
@@ -215,7 +214,7 @@ void check_levels_contrib_menu()
     contrib_subset_menu->additem(MN_HL,"",0,0);      
     contrib_subset_menu->additem(MN_BACK, _("Back"), 0, 0);
 
-    titlesession->get_current_sector()->activate();
+    titlesession->get_current_sector()->activate("main");
     titlesession->set_current();
   }
 }
@@ -246,22 +245,22 @@ void draw_demo(float elapsed_time)
 
   world->play_music(LEVEL_MUSIC);
   
-  tux->key_event((SDLKey) keymap.right,DOWN);
+  tux->key_event((SDLKey) keymap.right, true);
   
   if(random_timer.check()) {
     random_timer.start(float(rand() % 3000 + 3000) / 1000.);
     walking = !walking;
   } else {
       if(walking)
-        tux->key_event((SDLKey) keymap.jump,UP);
+        tux->key_event((SDLKey) keymap.jump, false);
       else
-        tux->key_event((SDLKey) keymap.jump,DOWN);
+        tux->key_event((SDLKey) keymap.jump, true);
   }
 
   // Wrap around at the end of the level back to the beginnig
   if(world->solids->get_width() * 32 - 320 < tux->get_pos().x)
     {
-      tux->level_begin();
+      world->activate("main");
       world->camera->reset(tux->get_pos());
     }
 
@@ -298,7 +297,7 @@ void title(void)
   logo = new Surface(datadir + "/images/title/logo.png", true);
   img_choose_subset = new Surface(datadir + "/images/status/choose-level-subset.png", true);
 
-  titlesession->get_current_sector()->activate();
+  titlesession->get_current_sector()->activate("main");
   titlesession->set_current();
 
   /* --- Main title loop: --- */
@@ -388,7 +387,7 @@ void title(void)
                   fadeout(500);
                   credits_music = SoundManager::get()->load_music(datadir + "/music/credits.ogg");
                   SoundManager::get()->play_music(credits_music);
-                  display_text_file("credits.txt", SCROLL_SPEED_CREDITS, white_big_text , white_text, white_small_text, blue_text );
+                  display_text_file("credits.txt");
                   fadeout(500);
                   Menu::set_current(main_menu);
                   break;