|
|
|
@@ -139,14 +139,17 @@ static int select_rom(menu_state* menu, nes_Renderer* rend, |
|
|
|
} |
|
|
|
|
|
|
|
if (0 == status) { |
|
|
|
cart.filename = run_main_menu(menu, rend, |
|
|
|
input, sys); |
|
|
|
cart.filename = run_main_menu( |
|
|
|
menu, rend, input, sys, cur_cart->filename |
|
|
|
); |
|
|
|
|
|
|
|
if ( NULL == cart.filename || |
|
|
|
(char*)-1 == cart.filename ) { |
|
|
|
// This means that we dumped out of the loader |
|
|
|
cart.filename = NULL; |
|
|
|
status = -1; |
|
|
|
if ((char*)-1 == cart.filename) { |
|
|
|
// This means that we quit |
|
|
|
status = input_Result_Quit; |
|
|
|
|
|
|
|
} else if (NULL == cart.filename) { |
|
|
|
// This means we didn't press "cancel" |
|
|
|
status = input_Result_Cancel; |
|
|
|
|
|
|
|
} else { |
|
|
|
cart.file = nes_load_cart(&new_cart, |
|
|
|
@@ -184,6 +187,7 @@ static int do_game_menu(menu_state* state, nes_Renderer* rend, |
|
|
|
sys, cart); |
|
|
|
|
|
|
|
if (input_Result_Cancel == status) { |
|
|
|
status = input_Result_OK; |
|
|
|
continue; |
|
|
|
} |
|
|
|
} |
|
|
|
@@ -229,8 +233,7 @@ int main(int argc, char* argv[]) { |
|
|
|
|
|
|
|
// If we didn't launch with a file, run the loader |
|
|
|
if (0 == status && NULL == cart.file) { |
|
|
|
status = select_rom(NULL, rend, input, |
|
|
|
&sys, &cart); |
|
|
|
status = select_rom(NULL, rend, input, &sys, &cart); |
|
|
|
} |
|
|
|
|
|
|
|
if (status == 0) { |
|
|
|
|