X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fgame_session.cpp;h=fbeac4ea7b6768a2fe6cae88234cb11e981b3d78;hb=c1583b50b204a0c9e50c7b7750db50d24ff5f6fa;hp=d6d10d3f026fc171ba458a907a5068ed291a871e;hpb=5b7f9214cb929399f1a855ef5807018a9447d510;p=supertux.git diff --git a/src/game_session.cpp b/src/game_session.cpp index d6d10d3f0..fbeac4ea7 100644 --- a/src/game_session.cpp +++ b/src/game_session.cpp @@ -79,6 +79,7 @@ GameSession::GameSession(const std::string& levelfile_, GameSessionMode mode, capture_demo_stream(0), playback_demo_stream(0), demo_controller(0) { current_ = this; + currentsector = 0; game_pause = false; music_playing = false; @@ -183,8 +184,6 @@ GameSession::play_demo(const std::string& filename) void GameSession::levelintro() { - //sound_manager->halt_music(); - char str[60]; DrawingContext context; @@ -428,7 +427,6 @@ GameSession::update(float elapsed_time) // update sounds sound_manager->set_listener_position(currentsector->player->get_pos()); - sound_manager->update(); } void @@ -530,7 +528,7 @@ GameSession::run() static const float elapsed_time = 1.0 / LOGICAL_FPS; // old code... float elapsed_time = float(ticks - lastticks) / 1000.; if(!game_pause) - global_time += elapsed_time; + game_time += elapsed_time; // regulate fps ticks = SDL_GetTicks(); @@ -592,6 +590,9 @@ GameSession::run() if(!skipdraw) draw(); + // update sounds + sound_manager->update(); + /* Time stops in pause mode */ if(game_pause || Menu::current()) { @@ -698,7 +699,7 @@ GameSession::start_sequence(const std::string& sequencename) end_sequence = ENDSEQUENCE_RUNNING; endsequence_timer.start(7.0); // 7 seconds until we finish the map last_x_pos = -1; - sound_manager->play_music("music/leveldone.ogg"); + sound_manager->play_music("music/leveldone.ogg", false); currentsector->player->invincible_timer.start(7.0); if(sequencename == "fireworks") { @@ -798,6 +799,7 @@ bool process_load_game_menu() stream << slot; std::string slotfile = "save/slot" + stream.str() + ".stsg"; + sound_manager->stop_music(); fadeout(256); DrawingContext context; context.draw_text(white_text, "Loading...",