pt_BR updates from Krishnamurti Lelis Lima Vieira Nunes <krishnalelis@gmail.com>
[supertux.git] / src / game_session.cpp
index ee036eb..e918a09 100644 (file)
@@ -135,7 +135,6 @@ GameSession::restart_level()
   level->stats.total_badguys = level->get_total_badguys();
   level->stats.total_secrets = level->get_total_count<SecretAreaTrigger>();
   level->stats.reset();
-  if(reset_sector != "")level->stats.declare_invalid();
 
   if(reset_sector != "") {
     currentsector = level->get_sector(reset_sector);
@@ -144,11 +143,13 @@ GameSession::restart_level()
       msg << "Couldn't find sector '" << reset_sector << "' for resetting tux.";
       throw std::runtime_error(msg.str());
     }
+    level->stats.declare_invalid();
     currentsector->activate(reset_pos);
   } else {
     currentsector = level->get_sector("main");
     if(!currentsector)
       throw std::runtime_error("Couldn't find main sector");
+    play_time = 0;
     currentsector->activate("main");
   }
 
@@ -527,7 +528,7 @@ GameSession::update(float elapsed_time)
   }
 
   // update sounds
-  sound_manager->set_listener_position(currentsector->player->get_pos());
+  if (currentsector && currentsector->camera) sound_manager->set_listener_position(currentsector->camera->get_center());
 
   /* Handle music: */
   if (end_sequence)