Just made the intro's Tux to honour the keys chosen by the user.
[supertux.git] / src / title.cpp
index edfd1a7..ac89c35 100644 (file)
@@ -139,6 +139,7 @@ void check_contrib_subset_menu()
         {
           index -= 1; // FIXME: Hack
           std::cout << "Sarting level: " << index << std::endl;
+          halt_music();
           GameSession session(current_contrib_subset, index, ST_GL_PLAY);
           session.run();
           Menu::set_current(main_menu);
@@ -159,6 +160,8 @@ void draw_demo(GameSession* session, double frame_ratio)
   //World* world  = session->get_world();
   Level* plevel = session->get_level();
   Player* tux = session->get_world()->get_tux();
+
+  session->get_world()->play_music(LEVEL_MUSIC);
   
   /* FIXME:
   // update particle systems
@@ -186,14 +189,14 @@ void draw_demo(GameSession* session, double frame_ratio)
     }
 
   global_frame_counter++;
-  tux->key_event(SDLK_RIGHT,DOWN);
+  tux->key_event((SDLKey) keymap.right,DOWN);
   
   if(random_timer.check())
     {
       if(walking)
-        tux->key_event(SDLK_UP,UP);
+        tux->key_event((SDLKey) keymap.jump,UP);
       else
-        tux->key_event(SDLK_UP,DOWN);
+        tux->key_event((SDLKey) keymap.jump,DOWN);
     }
   else
     {
@@ -248,9 +251,6 @@ void title(void)
   update_time = st_get_ticks();
   random_timer.start(rand() % 2000 + 2000);
 
-  Mix_Music* music = load_song(datadir + "/music/theme.mod");
-  play_music(music, 1);
-
   Menu::set_current(main_menu);
   while (Menu::current())
     {
@@ -357,15 +357,11 @@ void title(void)
       /* Pause: */
       frame++;
       SDL_Delay(25);
-
-      if(!playing_music)
-       play_music(music, 1);
     }
   /* Free surfaces: */
 
   delete bkg_title;
   delete logo;
-  free_music(music);
 }
 
 #define MAX_VEL 10