50 lines
1.1 KiB
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;
|
|
}
|