X-Git-Url: http://vcs.maemo.org/git/?a=blobdiff_plain;f=ball%2Fst_level.c;h=80507521a4ddf525d22466ebe95497770baee33f;hb=428f34e4b4486c5e3714abdbcc234b05215c8e4a;hp=f523fb1a7b17c2c7d0e26acacc4a972fcbe02459;hpb=5cd785f69a80b1650e66efa8672584748b745ef7;p=neverball diff --git a/ball/st_level.c b/ball/st_level.c index f523fb1..8050752 100644 --- a/ball/st_level.c +++ b/ball/st_level.c @@ -12,10 +12,12 @@ * General Public License for more details. */ +#include + #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" @@ -29,58 +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, _(curr_set()->name), 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); } @@ -117,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); } } @@ -127,9 +114,9 @@ static int level_buttn(int b, int d) /*---------------------------------------------------------------------------*/ -static void poser_paint(int id, float st) +static void poser_paint(int id, float t) { - game_draw(1, st); + game_draw(1, t); } static int poser_buttn(int c, int d)