X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=ball%2Fst_level.c;h=80507521a4ddf525d22466ebe95497770baee33f;hb=76d05f44396a09df4f90e3d22bffe75c9665619c;hp=f408dbd3a3a877351d899277488d7ca82f9b1bf8;hpb=ed6b151bb808501f7e15cd2591a219282fc4c2b9;p=neverball diff --git a/ball/st_level.c b/ball/st_level.c index f408dbd..8050752 100644 --- a/ball/st_level.c +++ b/ball/st_level.c @@ -17,7 +17,7 @@ #include "gui.h" #include "game.h" #include "set.h" -#include "levels.h" +#include "progress.h" #include "audio.h" #include "config.h" #include "st_shared.h" @@ -31,59 +31,44 @@ static int level_enter(void) { - int id, jd, kd, ld; - const char *ln; - const struct level_game *lg = curr_lg(); - int b; - const float *textcol1, *textcol2; + int id, jd, kd; if ((id = gui_vstack(0))) { if ((jd = gui_hstack(id))) { - ln = lg->level->repr; - b = lg->level->is_bonus; - textcol1 = b ? gui_wht : 0; - textcol2 = b ? gui_grn : 0; - gui_filler(jd); if ((kd = gui_vstack(jd))) { - gui_label(kd, set_name(curr_set()), GUI_SML, GUI_ALL, - gui_wht, gui_wht); - - gui_space(kd); - - if ((ld = gui_hstack(kd))) - { - if (b == 0) - { - gui_label(ld, ln, GUI_LRG, GUI_NE, - textcol1, textcol2); - gui_label(ld, _("Level "), GUI_LRG, GUI_NW, - textcol1, textcol2); - } - else - { - gui_label(ld, ln, GUI_MED, GUI_NE, - textcol1, textcol2); - gui_label(ld, _("Bonus Level "), GUI_MED, GUI_NW, - textcol1, textcol2); - } - } - - gui_label(kd, mode_to_str(lg->mode, 1), GUI_SML, GUI_BOT, - gui_wht, gui_wht); - + const char *ln = level_name (curr_level()); + int b = level_bonus(curr_level()); + + char setattr[MAXSTR], lvlattr[MAXSTR]; + + if (b) + sprintf(lvlattr, _("Bonus Level %s"), ln); + else + sprintf(lvlattr, _("Level %s"), ln); + + if (curr_mode() == MODE_CHALLENGE) + sprintf(setattr, "%s: %s", set_name(curr_set()), + mode_to_str(MODE_CHALLENGE, 1)); + else + sprintf(setattr, "%s", set_name(curr_set())); + + gui_label(kd, lvlattr, b ? GUI_MED : GUI_LRG, GUI_TOP, + b ? gui_wht : 0, b ? gui_grn : 0); + gui_label(kd, setattr, GUI_SML, GUI_BOT, + gui_wht, gui_wht); } gui_filler(jd); } gui_space(id); - if (strlen(lg->level->message) != 0) - gui_multi(id, _(lg->level->message), GUI_SML, GUI_ALL, gui_wht, - gui_wht); + gui_multi(id, level_msg(curr_level()), + GUI_SML, GUI_ALL, + gui_wht, gui_wht); gui_layout(id, 0, 0); } @@ -120,8 +105,7 @@ static int level_buttn(int b, int d) } if (config_tst_d(CONFIG_JOYSTICK_BUTTON_EXIT, b)) { - level_stat(GAME_NONE, curr_clock(), curr_coins()); - level_stop(); + progress_stop(); return goto_state(&st_over); } }