X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;f=src%2Fgameloop.cpp;h=5e860225f50e6ff5bea266ae5d3bfc55209d9e8f;hb=820473dd8331f9c8949f0d492162fa9d1860ca90;hp=1f1131ad66a455dfb9043bf53de52d606e01d72b;hpb=2fb736141667adaa2a883741719fa2ac6cff9956;p=supertux.git diff --git a/src/gameloop.cpp b/src/gameloop.cpp index 1f1131ad6..5e860225f 100644 --- a/src/gameloop.cpp +++ b/src/gameloop.cpp @@ -63,6 +63,8 @@ GameSession::restart_level() fps_timer.init(true); frame_timer.init(true); + delete world; + if (st_gl_mode == ST_GL_LOAD_LEVEL_FILE) { world = new World(subset); @@ -317,7 +319,8 @@ GameSession::check_end_conditions() // Check End conditions if (tux->is_dead()) { - + player_status.lives -= 1; + if (player_status.lives < 0) { // No more lives!? if(st_gl_mode != ST_GL_TEST) @@ -325,8 +328,10 @@ GameSession::check_end_conditions() if(st_gl_mode != ST_GL_TEST) { - if (player_status.score > hs_score) - save_hs(player_status.score); + // FIXME: highscore soving doesn't make sense in its + // current form + //if (player_status.score > hs_score) + //save_hs(player_status.score); } exit_status = GAME_OVER; @@ -434,14 +439,7 @@ GameSession::run() case 2: st_pause_ticks_stop(); break; - case 3: - // FIXME: - //update_load_save_game_menu(save_game_menu); - break; - case 4: - update_load_save_game_menu(load_game_menu); - break; - case 7: + case 5: st_pause_ticks_stop(); exit_status = LEVEL_ABORT; break;