aboutsummaryrefslogtreecommitdiff
path: root/main.c
diff options
context:
space:
mode:
authorneonloop2021-08-20 21:15:01 +0000
committerneonloop2021-08-20 21:15:01 +0000
commit4c8ebb205ca36321eef5b1106f3c0db7e2a49d87 (patch)
treeed779f3717445ea04328e33a12a8928de9873f2e /main.c
parent83177501ff2248cf13fe96455f2c0c6adfa21b29 (diff)
downloadpicoarch-4c8ebb205ca36321eef5b1106f3c0db7e2a49d87.tar.gz
picoarch-4c8ebb205ca36321eef5b1106f3c0db7e2a49d87.tar.bz2
picoarch-4c8ebb205ca36321eef5b1106f3c0db7e2a49d87.zip
Adds disc control to MinUI
Diffstat (limited to 'main.c')
-rw-r--r--main.c15
1 files changed, 8 insertions, 7 deletions
diff --git a/main.c b/main.c
index 3b9cfb0..c7b4276 100644
--- a/main.c
+++ b/main.c
@@ -347,19 +347,20 @@ void handle_emu_action(emu_action action)
ShowMenu_t ShowMenu = (ShowMenu_t)dlsym(mmenu, "ShowMenu");
SDL_Surface *screen = SDL_GetVideoSurface();
MenuReturnStatus status = ShowMenu(content_path, state_allowed() ? save_template_path : NULL, screen, kMenuEventKeyDown);
+ char disc_path[256];
+ ChangeDisc_t ChangeDisc = (ChangeDisc_t)dlsym(mmenu, "ChangeDisc");
- if (status==kStatusExitGame) {
+ if (status == kStatusExitGame) {
should_quit = 1;
plat_video_menu_leave();
- }
- else if (status==kStatusOpenMenu) {
+ } else if (status == kStatusChangeDisc && ChangeDisc(disc_path)) {
+ disc_replace_index(0, disc_path);
+ } else if (status == kStatusOpenMenu) {
menu_loop();
- }
- else if (status>=kStatusLoadSlot) {
+ } else if (status >= kStatusLoadSlot) {
state_slot = status - kStatusLoadSlot;
state_read();
- }
- else if (status>=kStatusSaveSlot) {
+ } else if (status >= kStatusSaveSlot) {
state_slot = status - kStatusSaveSlot;
state_write();
}