53d3b24c91bedd0bf3a8301b68e606a1f1cdd9bc
[gbajam22] / src / menuscr.c
1 #include "game.h"
2 #include "data.h"
3 #include "gba.h"
4 #include "util.h"
5 #include "dma.h"
6 #include "input.h"
7 #include "debug.h"
8
9 static int menuscr_start(void);
10 static void menuscr_stop(void);
11 static void menuscr_frame(void);
12 static void menuscr_vblank(void);
13
14 static struct screen menuscr = {
15         "menu",
16         menuscr_start,
17         menuscr_stop,
18         menuscr_frame,
19         menuscr_vblank
20 };
21
22 struct screen *init_menu_screen(void)
23 {
24         return &menuscr;
25 }
26
27 static int menuscr_start(void)
28 {
29         gba_setmode(3, DISPCNT_BG2);
30         dma_copy16(3, gba_vram_lfb0, menuscr_pixels, 240 * 160, 0);
31         return 0;
32 }
33
34 static void menuscr_stop(void)
35 {
36 }
37
38 static void menuscr_frame(void)
39 {
40         update_keyb();
41
42         if(KEYPRESS(BN_START)) {
43                 change_screen(find_screen("game"));
44         }
45 }
46
47 static void menuscr_vblank(void)
48 {
49 }