int run_mainMenu() { #if defined(AUTO_RUN) || defined(AUTO_FRAMERATE) || defined(AUTO_PROFILER) return 1; #else #if !defined(DEBUG_UAE4ALL) && !defined(PROFILER_UAE4ALL) static enum MainMenuEntry c = MAIN_MENU_ENTRY_LOAD; #else static enum MainMenuEntry c = MAIN_MENU_ENTRY_SOUND; #endif while (1) { enum MainMenuEntry action = MAIN_MENU_ENTRY_NONE; raise_mainMenu(); while (action == MAIN_MENU_ENTRY_NONE) { draw_mainMenu(c); action = key_mainMenu(&c); } unraise_mainMenu(); switch (action) { case MAIN_MENU_ENTRY_SAVED_STATES: #ifndef NO_SAVE_MENU run_menuSave(); if (savestate_state == STATE_DORESTORE || savestate_state == STATE_DOSAVE) return 1; /* leave, returning to the emulation */ #endif break; case MAIN_MENU_ENTRY_LOAD: run_menuDfSel(); break; case MAIN_MENU_ENTRY_RESET_EMULATION: if (emulating) return 2; /* leave, resetting */ /* Fall through */ case MAIN_MENU_ENTRY_RETURN_TO_EMULATION: return 1; /* leave, returning to the emulation */ case MAIN_MENU_ENTRY_EXIT_UAE: storeConfig(); #ifdef DREAMCAST //malloc(16*1024*1024); arch_reboot(); #else do_leave_program(); exit(0); #endif break; } } #endif }
void leave_program (void) { do_leave_program (); }