Browse Source

Don't immediately exit when no ROMs present

- Re-render modal popup on refresh and wait for more input
master
Nathaniel Walizer 10 months ago
parent
commit
4c0c6dbaea
1 changed files with 11 additions and 5 deletions
  1. +11
    -5
      src/menu.c

+ 11
- 5
src/menu.c View File

@@ -242,7 +242,7 @@ char* run_main_menu(menu_state* state, nese_Components* comp,
if (current >= 0) menu.cursor = current;
}

// Don't let window refreshes interrupt us.
// Don't let window refreshes interrupt us (??? How)
int status = run_menu(&menu, &files, 20, comp, cart);

if (input_Result_Quit == status) {
@@ -335,9 +335,15 @@ int modal_popup(const char* message, nese_Components* comp,
if (x < 5) x = 5;
if (y < 5) y = 5;

nes_draw_last_frame(comp->rend, NULL != cart->file);
nes_draw_text(comp->rend, message, x, y, color_error);
nes_draw_done(comp->rend);

return wait_for_input(comp);
int status = (input_Result_Refresh << 8);
while (input_Result_Refresh == (status >> 8)) {
nes_draw_last_frame(comp->rend, NULL != cart->file);
nes_draw_text(comp->rend, message, x, y, color_error);
nes_draw_done(comp->rend);

status = wait_for_input(comp);
}

return status;
}

Loading…
Cancel
Save