\r
static unsigned long wait_for_input(unsigned int interesting)\r
{\r
- unsigned int ret;\r
- static int repeats = 0, wait = 50;\r
+ unsigned long ret;\r
+ static int repeats = 0, wait = 20;\r
int release = 0, i;\r
\r
- if (repeats == 2 || repeats == 4) wait /= 2;\r
- if (repeats == 6) wait = 15;\r
+ if (repeats == 2) wait = 3;\r
+ else if (repeats == 4) wait = 2;\r
+ else if (repeats == 6) wait = 1;\r
\r
- for (i = 0; i < 6 && inp_prev == Framework_PollGetButtons(); i++) {\r
+ for (i = 0; i < wait && inp_prev == Framework_PollGetButtons(); i++) {\r
if (i == 0) repeats++;\r
- Sleep(wait);\r
+ Sleep(30);\r
}\r
\r
while ( !((ret = Framework_PollGetButtons()) & interesting) ) {\r
\r
if (release || ret != inp_prev) {\r
repeats = 0;\r
- wait = 50;\r
+ wait = 20;\r
}\r
+ if (wait > 6 && (ret&(BTN_UP|BTN_LEFT|BTN_DOWN|BTN_RIGHT)))\r
+ wait = 6;\r
inp_prev = ret;\r
\r
// we don't need diagonals in menus\r
if (rom_loaded) {\r
if(savestate_menu_loop(1))\r
continue;\r
+ while (Framework_PollGetButtons() & BTN_PLAY) Sleep(50);\r
engineState = PGS_Running;\r
return;\r
}\r
case MA_MAIN_RESET_GAME:\r
if (rom_loaded) {\r
emu_ResetGame();\r
+ while (Framework_PollGetButtons() & BTN_PLAY) Sleep(50);\r
engineState = PGS_Running;\r
return;\r
}\r
case 0: // select image\r
selfname = romsel_loop(curr_path);\r
if (selfname) {\r
- int ret = -1, cd_type;\r
+ int ret = -1;\r
+ cd_img_type cd_type;\r
cd_type = emu_cdCheck(NULL);\r
- if (cd_type > 0)\r
- ret = Insert_CD(romFileName, cd_type == 2);\r
+ if (cd_type != CIT_NOT_CD)\r
+ ret = Insert_CD(romFileName, cd_type);\r
if (ret != 0) {\r
sprintf(menuErrorMsg, "Load failed, invalid CD image?");\r
lprintf("%s\n", menuErrorMsg);\r