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);
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");
}
}
// 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)