diff options
Diffstat (limited to 'apps/plugins/star.c')
-rw-r--r-- | apps/plugins/star.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/apps/plugins/star.c b/apps/plugins/star.c index 1a27f51f54..118a18227c 100644 --- a/apps/plugins/star.c +++ b/apps/plugins/star.c | |||
@@ -21,6 +21,7 @@ | |||
21 | #include "plugin.h" | 21 | #include "plugin.h" |
22 | #ifdef HAVE_LCD_BITMAP | 22 | #ifdef HAVE_LCD_BITMAP |
23 | #include "lib/display_text.h" | 23 | #include "lib/display_text.h" |
24 | #include "lib/playback_control.h" | ||
24 | 25 | ||
25 | PLUGIN_HEADER | 26 | PLUGIN_HEADER |
26 | 27 | ||
@@ -424,8 +425,6 @@ static char board[STAR_HEIGHT][STAR_WIDTH]; | |||
424 | #define STAR 3 | 425 | #define STAR 3 |
425 | #define BALL 4 | 426 | #define BALL 4 |
426 | 427 | ||
427 | #define MENU_START 0 | ||
428 | |||
429 | /* char font size */ | 428 | /* char font size */ |
430 | static int char_width = -1; | 429 | static int char_width = -1; |
431 | static int char_height = -1; | 430 | static int char_height = -1; |
@@ -1051,18 +1050,21 @@ static int star_menu(void) | |||
1051 | { | 1050 | { |
1052 | int selection, level=1; | 1051 | int selection, level=1; |
1053 | bool menu_quit = false; | 1052 | bool menu_quit = false; |
1054 | /* get the size of char */ | ||
1055 | rb->lcd_getstringsize("a", &char_width, &char_height); | ||
1056 | 1053 | ||
1057 | MENUITEM_STRINGLIST(menu,"Star Menu",NULL,"Start Game","Choose Level", | 1054 | MENUITEM_STRINGLIST(menu, "Star Menu", NULL, |
1058 | "Help", "Quit"); | 1055 | "Start Game","Choose Level", |
1056 | "Help", "Playback Control", "Quit"); | ||
1059 | 1057 | ||
1060 | while(!menu_quit) | 1058 | while(!menu_quit) |
1061 | { | 1059 | { |
1062 | switch(rb->do_menu(&menu, &selection, NULL, false)) | 1060 | switch(rb->do_menu(&menu, &selection, NULL, false)) |
1063 | { | 1061 | { |
1064 | case 0: | 1062 | case 0: |
1065 | menu_quit = true; | 1063 | /* use system font and get the size of char */ |
1064 | rb->lcd_setfont(FONT_SYSFIXED); | ||
1065 | rb->lcd_getstringsize("a", &char_width, &char_height); | ||
1066 | star_run_game(level-1); | ||
1067 | rb->lcd_setfont(FONT_UI); | ||
1066 | break; | 1068 | break; |
1067 | case 1: | 1069 | case 1: |
1068 | rb->set_int("Level", "", UNIT_INT, &level, | 1070 | rb->set_int("Level", "", UNIT_INT, &level, |
@@ -1072,19 +1074,17 @@ static int star_menu(void) | |||
1072 | if(star_help()) | 1074 | if(star_help()) |
1073 | usb_detected = true; | 1075 | usb_detected = true; |
1074 | break; | 1076 | break; |
1075 | default: | 1077 | case 3: |
1078 | playback_control(NULL); | ||
1079 | break; | ||
1080 | case 4: | ||
1076 | menu_quit = true; | 1081 | menu_quit = true; |
1077 | break; | 1082 | break; |
1078 | } | 1083 | } |
1084 | if(usb_detected) | ||
1085 | return PLUGIN_USB_CONNECTED; | ||
1079 | } | 1086 | } |
1080 | 1087 | ||
1081 | if (selection == MENU_START) | ||
1082 | { | ||
1083 | rb->lcd_setfont(FONT_SYSFIXED); | ||
1084 | rb->lcd_getstringsize("a", &char_width, &char_height); | ||
1085 | level--; | ||
1086 | star_run_game(level); | ||
1087 | } | ||
1088 | return PLUGIN_OK; | 1088 | return PLUGIN_OK; |
1089 | } | 1089 | } |
1090 | 1090 | ||