mystnb/src/main.c

73 lines
1.0 KiB
C
Raw Normal View History

2020-06-17 21:12:35 +02:00
#include <gint/display.h>
#include <gint/keyboard.h>
#include <gint/gint.h>
2020-06-17 21:12:35 +02:00
#include "game.h"
2020-08-20 17:04:31 +02:00
#include "engine.h"
2020-07-25 12:16:15 +02:00
static void draw_menu(int selected)
2020-06-17 21:12:35 +02:00
{
2020-07-25 10:37:07 +02:00
extern bopti_image_t img_title;
extern bopti_image_t img_levels;
2020-06-17 21:12:35 +02:00
dclear(C_WHITE);
2020-07-25 10:37:07 +02:00
dimage(0, 2, &img_title);
for(int i = 1; i <= 8; i++)
{
int x = 20 + 11*(i-1);
int y = 36;
if(i != 8)
{
dsubimage(x, y, &img_levels, 0,0,10,10, DIMAGE_NONE);
dprint(x+3, y+2, C_BLACK, "%d", i);
}
else
{
dsubimage(x, y, &img_levels, 11,0,10,10, DIMAGE_NONE);
}
2020-07-25 12:16:15 +02:00
if(i == selected)
{
drect(x+1, y+1, x+8, y+8, C_INVERT);
}
2020-07-25 10:37:07 +02:00
}
2020-07-25 12:16:15 +02:00
}
2020-08-20 17:04:31 +02:00
static int main_menu(void)
2020-07-25 12:16:15 +02:00
{
extern font_t font_mystere;
dfont(&font_mystere);
int selected = 1;
int key = 0;
2020-07-25 10:37:07 +02:00
2020-07-25 12:16:15 +02:00
while(key != KEY_EXE)
{
draw_menu(selected);
dupdate();
key = getkey().key;
if(key == KEY_LEFT && selected > 1)
selected--;
if(key == KEY_RIGHT && selected < 8)
selected++;
if(key == KEY_EXIT)
gint_osmenu();
2020-07-25 12:16:15 +02:00
}
2020-06-17 21:12:35 +02:00
2020-08-20 17:04:31 +02:00
return selected;
}
2020-08-21 11:15:33 +02:00
2020-08-20 17:04:31 +02:00
int main(void)
{
while(1)
2020-08-20 17:04:31 +02:00
{
GUNUSED int level = main_menu();
play_level(1);
2020-08-20 17:04:31 +02:00
}
2020-06-17 21:12:35 +02:00
}