X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=ball%2Fst_pause.c;h=fd8c03b8de5d7aa29acf2109ad87d7550f3a9937;hb=76d05f44396a09df4f90e3d22bffe75c9665619c;hp=662be4e85f53941553f069d778af6434b831e8bb;hpb=ecc471d5ef47f1b81bad3e92d5efd5e28e304f49;p=neverball diff --git a/ball/st_pause.c b/ball/st_pause.c index 662be4e..fd8c03b 100644 --- a/ball/st_pause.c +++ b/ball/st_pause.c @@ -12,12 +12,10 @@ * General Public License for more details. */ -#include - #include "gui.h" #include "config.h" #include "game.h" -#include "levels.h" +#include "progress.h" #include "level.h" #include "audio.h" #include "hud.h" @@ -67,15 +65,18 @@ static int pause_action(int i) return goto_state(st_continue); case PAUSE_RESTART: - level_same(); - clear_pause(); - SDL_PauseAudio(0); - config_set_grab(1); - return goto_state(&st_play_ready); + if (progress_same()) + { + clear_pause(); + SDL_PauseAudio(0); + config_set_grab(1); + return goto_state(&st_play_ready); + } + break; case PAUSE_EXIT: - level_stat(GAME_NONE, curr_clock(), curr_coins()); - level_stop(); + progress_stat(GAME_NONE); + progress_stop(); clear_pause(); SDL_PauseAudio(0); audio_music_stop(); @@ -106,13 +107,8 @@ static int pause_enter(void) { gui_state(jd, _("Quit"), GUI_SML, PAUSE_EXIT, 0); - if (curr_lg()->mode != MODE_CHALLENGE) + if (progress_same_avail()) gui_state(jd, _("Restart"), GUI_SML, PAUSE_RESTART, 0); - else - { - int ld = gui_state(jd, _("Restart"), GUI_SML, 0, 0); - gui_set_color(ld, gui_gry, gui_gry); - } gui_start(jd, _("Continue"), GUI_SML, PAUSE_CONTINUE, 1); } @@ -126,9 +122,9 @@ static int pause_enter(void) return id; } -static void pause_paint(int id, float st) +static void pause_paint(int id, float t) { - shared_paint(id, st); + shared_paint(id, t); hud_paint(); } @@ -145,8 +141,7 @@ static int pause_keybd(int c, int d) if (config_tst_d(CONFIG_KEY_PAUSE, c)) return pause_action(PAUSE_CONTINUE); - if (config_tst_d(CONFIG_KEY_RESTART, c) - && curr_lg()->mode != MODE_CHALLENGE) + if (config_tst_d(CONFIG_KEY_RESTART, c) && progress_same_avail()) return pause_action(PAUSE_RESTART); } return 1; @@ -160,12 +155,7 @@ static int pause_buttn(int b, int d) return pause_action(gui_token(gui_click())); if (config_tst_d(CONFIG_JOYSTICK_BUTTON_EXIT, b)) - { - if (SDL_GetModState() & KMOD_SHIFT) - return pause_action(PAUSE_EXIT); - else - return pause_action(PAUSE_CONTINUE); - } + return pause_action(PAUSE_CONTINUE); } return 1; } @@ -179,6 +169,7 @@ struct state st_pause = { pause_timer, shared_point, shared_stick, + shared_angle, shared_click, pause_keybd, pause_buttn,