basic up/down controls in menu

This commit is contained in:
Lephenixnoir 2021-08-22 01:21:40 +02:00
parent 424b3a201f
commit 8aa4be6f9d
Signed by: Lephenixnoir
GPG Key ID: 1BBA026E13FC0495
1 changed files with 21 additions and 0 deletions

View File

@ -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;