basic up/down controls in menu
This commit is contained in:
parent
424b3a201f
commit
8aa4be6f9d
21
src/menu.c
21
src/menu.c
|
@ -70,6 +70,27 @@ int main_menu(int *episode, int *level)
|
|||
s_level = episodes[s_episode].level_count - 1;
|
||||
}
|
||||
}
|
||||
if(e.type == KEYEV_DOWN && e.key == KEY_RIGHT) {
|
||||
if(s_level >= 4)
|
||||
s_level -= 4;
|
||||
else if(s_episode > 0) {
|
||||
s_episode--;
|
||||
s_level = (episodes[s_episode].level_count & ~3) +
|
||||
(s_level & 3);
|
||||
if(s_level >= episodes[s_episode].level_count)
|
||||
s_level = episodes[s_episode].level_count - 1;
|
||||
}
|
||||
}
|
||||
if(e.type == KEYEV_DOWN && e.key == KEY_LEFT) {
|
||||
if(s_level + 4 < episodes[s_episode].level_count)
|
||||
s_level += 4;
|
||||
else if(s_episode + 1 < episode_count) {
|
||||
s_episode++;
|
||||
s_level &= 3;
|
||||
if(s_level >= episodes[s_episode].level_count)
|
||||
s_level = episodes[s_episode].level_count - 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(input_finished)
|
||||
break;
|
||||
|
|
Loading…
Reference in New Issue