static int set_enter(void) { int w = config_get_d(CONFIG_WIDTH); int h = config_get_d(CONFIG_HEIGHT); int id, jd, kd; int i; if (do_init) { total = set_init(); first = MIN(first, (total - 1) - ((total - 1) % SET_STEP)); audio_music_fade_to(0.5f, "bgm/inter.ogg"); audio_play(AUD_START, 1.f); } else do_init = 1; if ((id = gui_vstack(0))) { if ((jd = gui_hstack(id))) { gui_label(jd, _("Level Set"), GUI_SML, GUI_ALL, gui_yel, gui_red); gui_filler(jd); gui_navig(jd, first > 0, first + SET_STEP < total); } gui_space(id); if ((jd = gui_harray(id))) { shot_id = gui_image(jd, set_shot(first), 7 * w / 16, 7 * h / 16); if ((kd = gui_varray(jd))) { for (i = first; i < first + SET_STEP; i++) gui_set(kd, i); } } gui_space(id); desc_id = gui_multi(id, " \\ \\ \\ \\ \\", GUI_SML, GUI_ALL, gui_yel, gui_wht); gui_layout(id, 0, 0); } return id; }
static void start_over(int id, int pulse) { if (id) { if (pulse) gui_pulse(id, 1.2f); if (gui_token(id) == START_LEVEL) { start_over_level(gui_value(id)); } else { gui_set_image(shot_id, set_shot(curr_set())); set_score_board(set_score(curr_set(), SCORE_COIN), -1, set_score(curr_set(), SCORE_TIME), -1, NULL, -1); } } }
static void set_over(int i) { gui_set_image(shot_id, set_shot(i)); gui_set_multi(desc_id, set_desc(i)); }
static int start_gui(void) { int w = video.device_w; int h = video.device_h; int i, j; int id, jd, kd, ld; if ((id = gui_vstack(0))) { if ((jd = gui_hstack(id))) { gui_label(jd, set_name(curr_set()), GUI_SML, gui_yel, gui_red); gui_filler(jd); gui_start(jd, _("Back"), GUI_SML, GUI_BACK, 0); } gui_space(id); if ((jd = gui_harray(id))) { if (config_cheat()) { if ((kd = gui_vstack(jd))) { shot_id = gui_image(kd, set_shot(curr_set()), 6 * w / 16, 6 * h / 16); file_id = gui_label(kd, " ", GUI_SML, gui_yel, gui_red); } } else { shot_id = gui_image(jd, set_shot(curr_set()), 7 * w / 16, 7 * h / 16); } if ((kd = gui_varray(jd))) { for (i = 0; i < 5; i++) if ((ld = gui_harray(kd))) for (j = 4; j >= 0; j--) gui_level(ld, i * 5 + j); challenge_id = gui_state(kd, _("Challenge"), GUI_SML, START_CHALLENGE, 0); gui_set_hilite(challenge_id, curr_mode() == MODE_CHALLENGE); } } gui_space(id); gui_score_board(id, (GUI_SCORE_COIN | GUI_SCORE_TIME | GUI_SCORE_GOAL), 0, 0); gui_space(id); if ((jd = gui_hstack(id))) { gui_filler(jd); if ((kd = gui_harray(jd))) { int btn0, btn1; btn0 = gui_state(kd, _("Unlocked"), GUI_SML, START_LOCK_GOALS, 0); btn1 = gui_state(kd, _("Locked"), GUI_SML, START_LOCK_GOALS, 1); if (config_get_d(CONFIG_LOCK_GOALS)) gui_set_hilite(btn1, 1); else gui_set_hilite(btn0, 1); } gui_space(jd); gui_label(jd, _("Goal State in Completed Levels"), GUI_SML, 0, 0); gui_filler(jd); } gui_layout(id, 0, 0); if (file_id) gui_set_trunc(file_id, TRUNC_HEAD); set_score_board(NULL, -1, NULL, -1, NULL, -1); } return id; }