Duet/src/menu.c

50 lines
1.1 KiB
C

#include <gint/display.h>
#include <gint/keyboard.h>
#include <gint/timer.h>
#include <gint/gint.h>
#include "duet.h"
extern bopti_image_t img_title;
int main_menu(void)
{
volatile int need_frame = 1;
int timer = timer_configure(TIMER_ANY, 33000, GINT_CALL_SET(&need_frame));
timer_start(timer);
float time = 0;
int selected_level = 0;
while(1) {
time += 1.0 / 30;
/* Keyboard input */
key_event_t e;
bool input_finished = false;
while((e = pollevent()).type != KEYEV_NONE) {
if(e.type == KEYEV_DOWN && e.key == KEY_MENU)
gint_osmenu();
if(e.type == KEYEV_DOWN && e.key == KEY_EXE) {
input_finished = true;
break;
}
}
if(input_finished)
break;
/* Rendering */
dclear(C_BLACK);
dimage(330, DHEIGHT/2 - img_title.height / 2,
&img_title);
render_player(265, DHEIGHT/2, time * 0.8);
dupdate();
}
timer_stop(timer);
return selected_level;
}