main menu prototype
This commit is contained in:
parent
2338d61023
commit
9d5ecacc55
44
src/menu.c
44
src/menu.c
|
@ -15,7 +15,8 @@ int main_menu(int *episode, int *level)
|
|||
if(timer >= 0) timer_start(timer);
|
||||
|
||||
float time = 0;
|
||||
int selection = 0;
|
||||
int s_episode = 0;
|
||||
int s_level = 0;
|
||||
int scroll = 0;
|
||||
|
||||
*episode = 0;
|
||||
|
@ -36,9 +37,28 @@ int main_menu(int *episode, int *level)
|
|||
if(e.type == KEYEV_DOWN && e.key == KEY_MENU)
|
||||
gint_osmenu();
|
||||
if(e.type == KEYEV_DOWN && e.key == KEY_EXE) {
|
||||
*episode = s_episode;
|
||||
*level = s_level;
|
||||
input_finished = true;
|
||||
break;
|
||||
}
|
||||
if(e.type == KEYEV_DOWN && e.key == KEY_DOWN &&
|
||||
(s_episode < episode_count
|
||||
|| s_level < episodes[s_episode].level_count)) {
|
||||
s_level++;
|
||||
if(s_level >= episodes[s_episode].level_count) {
|
||||
s_episode++;
|
||||
s_level = 0;
|
||||
}
|
||||
}
|
||||
if(e.type == KEYEV_DOWN && e.key == KEY_UP &&
|
||||
(s_episode > 0 || s_level > 0)) {
|
||||
s_level--;
|
||||
if(s_level < 0) {
|
||||
s_episode--;
|
||||
s_level = episodes[s_episode].level_count - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(input_finished)
|
||||
break;
|
||||
|
@ -49,6 +69,28 @@ int main_menu(int *episode, int *level)
|
|||
dimage(330 + scroll, DHEIGHT/2 - img_title.height / 2,
|
||||
&img_title);
|
||||
render_player(265 + scroll, DHEIGHT/2, time * 0.8);
|
||||
|
||||
int x = 180, y=40;
|
||||
for(int i = 0; i < episode_count; i++) {
|
||||
episode_t const *e = &episodes[i];
|
||||
|
||||
duet_text_opt(x, y, C_WHITE, C_NONE, DTEXT_LEFT, DTEXT_TOP,
|
||||
e->name, -1);
|
||||
x -= 13;
|
||||
|
||||
for(int j = 0; j < e->level_count; j++) {
|
||||
int rx = x - 38 * (j/4);
|
||||
int ry = y + 38 * (j%4);
|
||||
|
||||
if(s_episode == i && s_level == j) {
|
||||
drect(rx+2, ry-2, rx-32, ry+32, C_WHITE);
|
||||
}
|
||||
drect(rx, ry, rx-30, ry+30, C_RGB(10, 10, 10));
|
||||
}
|
||||
x -= 35 * ((e->level_count + 3) / 4);
|
||||
x -= 18;
|
||||
}
|
||||
|
||||
dupdate();
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue