Skip to content

Commit

Permalink
Add flashcart info menu
Browse files Browse the repository at this point in the history
  • Loading branch information
networkfusion committed Dec 29, 2023
1 parent af742a2 commit 6c3e09a
Show file tree
Hide file tree
Showing 6 changed files with 57 additions and 0 deletions.
1 change: 1 addition & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@ SRCS = \
menu/views/system_info.c \
menu/views/settings_editor.c \
menu/views/rtc.c \
menu/views/flashcart_info.c \
utils/fs.c

FONTS = \
Expand Down
1 change: 1 addition & 0 deletions src/menu/menu.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,6 +149,7 @@ static struct views_s {
{ view_credits_init, view_credits_display }, // MENU_MODE_CREDITS
{ view_settings_init, view_settings_display }, // MENU_MODE_SETTINGS_EDITOR
{ view_rtc_init, view_rtc_display }, // MENU_MODE_RTC
{ view_flashcart_info_init, view_flashcart_info_display }, // MENU_MODE_FLASHCART
{ view_load_rom_init, view_load_rom_display }, // MENU_MODE_LOAD_ROM
{ view_load_disk_init, view_load_disk_display }, // MENU_MODE_LOAD_DISK
{ view_load_emulator_init, view_load_emulator_display }, // MENU_MODE_LOAD_EMULATOR
Expand Down
1 change: 1 addition & 0 deletions src/menu/menu_state.h
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ typedef enum {
MENU_MODE_CREDITS,
MENU_MODE_SETTINGS_EDITOR,
MENU_MODE_RTC,
MENU_MODE_FLASHCART,
MENU_MODE_LOAD_ROM,
MENU_MODE_LOAD_DISK,
MENU_MODE_LOAD_EMULATOR,
Expand Down
5 changes: 5 additions & 0 deletions src/menu/views/browser.c
Original file line number Diff line number Diff line change
Expand Up @@ -244,12 +244,17 @@ static void edit_rtc (menu_t *menu) {
menu->next_mode = MENU_MODE_RTC;
}

static void show_flashcart_info (menu_t *menu) {
menu->next_mode = MENU_MODE_FLASHCART;
}

static component_context_menu_t settings_context_menu = {
.list = {
{ .text = "Edit settings", .action = edit_settings },
{ .text = "Show system info", .action = show_system_info },
{ .text = "Show credits", .action = show_credits },
{ .text = "Adjust RTC", .action = edit_rtc },
{ .text = "Show cart info", .action = show_flashcart_info },
COMPONENT_CONTEXT_MENU_LIST_END,
}
};
Expand Down
46 changes: 46 additions & 0 deletions src/menu/views/flashcart_info.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
#include "views.h"


static void process (menu_t *menu) {
if (menu->actions.back) {
menu->next_mode = MENU_MODE_BROWSER;
}
}

static void draw (menu_t *menu, surface_t *d) {
rdpq_attach(d, NULL);

component_background_draw();

component_layout_draw();

component_main_text_draw(
ALIGN_CENTER, VALIGN_TOP,
"FLASHCART INFORMATION\n"
);

component_main_text_draw(
ALIGN_LEFT, VALIGN_TOP,
"\n"
"\n"
);


component_actions_bar_text_draw(
ALIGN_LEFT, VALIGN_TOP,
"\n"
"B: Back"
);

rdpq_detach_show();
}


void view_flashcart_info_init (menu_t *menu) {
// Nothing to initialize (yet)
}

void view_flashcart_info_display (menu_t *menu, surface_t *display) {
process(menu);
draw(menu, display);
}
3 changes: 3 additions & 0 deletions src/menu/views/views.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,9 @@ void view_settings_display (menu_t *menu, surface_t *display);
void view_rtc_init (menu_t *menu);
void view_rtc_display (menu_t *menu, surface_t *display);

void view_flashcart_info_init (menu_t *menu);
void view_flashcart_info_display (menu_t *menu, surface_t *display);

void view_load_emulator_init (menu_t *menu);
void view_load_emulator_display (menu_t *menu, surface_t *display);

Expand Down

0 comments on commit 6c3e09a

Please sign in to comment.