X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=gp2x%2Fmenu.c;h=4b3201e5ce2a48e8f32f7e7ac199ccbf605ae7dc;hb=b13a934cb86e271a92ef674eb9f428a8e8060f97;hp=919fdb9b73af6cf5bdccfd73dbcfaa96a211d987;hpb=30d5518a0b02afafea4ced92f991838b031d0aad;p=libpicofe.git diff --git a/gp2x/menu.c b/gp2x/menu.c index 919fdb9..4b3201e 100644 --- a/gp2x/menu.c +++ b/gp2x/menu.c @@ -46,16 +46,16 @@ static int inp_prevjoy = 0; static unsigned long wait_for_input(unsigned long interesting) { unsigned long ret; - static int repeats = 0, wait = 50*1000; + static int repeats = 0, wait = 6; int release = 0, i; - if (repeats == 2 || repeats == 4) wait /= 2; - if (repeats == 6) wait = 15 * 1000; + if (repeats == 2) wait = 3; + else if (repeats == 4) wait = 2; + else if (repeats == 6) wait = 1; - for (i = 0; i < 6 && inp_prev == gp2x_joystick_read(1); i++) { + for (i = 0; i < wait && inp_prev == gp2x_joystick_read(1); i++) { if (i == 0) repeats++; - if (wait >= 30*1000) usleep(wait); // usleep sleeps for ~30ms minimum - else spend_cycles(wait * currentConfig.CPUclock); + usleep(30000); } while ( !((ret = gp2x_joystick_read(1)) & interesting) ) { @@ -65,7 +65,7 @@ static unsigned long wait_for_input(unsigned long interesting) if (release || ret != inp_prev) { repeats = 0; - wait = 50*1000; + wait = 6; } inp_prev = ret; inp_prevjoy = 0; @@ -200,7 +200,7 @@ void menu_romload_end(void) static unsigned short file2color(const char *fname) { const char *ext = fname + strlen(fname) - 3; - static const char *rom_exts[] = { "zip", "bin", "smd", "gen", "iso", "cso" }; + static const char *rom_exts[] = { "zip", "bin", "smd", "gen", "iso", "cso", "cue" }; static const char *other_exts[] = { "gmv", "pat" }; int i; @@ -256,7 +256,7 @@ static int scandir_cmp(const void *p1, const void *p2) static char *filter_exts[] = { ".mp3", ".MP3", ".srm", ".brm", "s.gz", ".mds", "bcfg", ".txt", ".htm", "html", - ".jpg", ".gpe", ".cue" + ".jpg", ".gpe" }; static int scandir_filter(const struct dirent *ent) @@ -751,7 +751,7 @@ static void draw_key_config(const me_bind_action *opts, int opt_cnt, int player_ x = 40; } - menu_draw_selection(x - 16, tl_y + sel*10, (player_idx >= 0) ? 66 : 130); + menu_draw_selection(x - 16, tl_y + sel*10, (player_idx >= 0) ? 66 : 140); y = tl_y; for (i = 0; i < opt_cnt; i++, y+=10) @@ -857,21 +857,25 @@ static void draw_kc_sel(int menu_sel) } -// player2_flag, ?, ?, ?, ?, ?, ?, menu +// player2_flag, reserved, ?, ?, +// ?, ?, fast forward, menu // "NEXT SAVE SLOT", "PREV SAVE SLOT", "SWITCH RENDERER", "SAVE STATE", // "LOAD STATE", "VOLUME UP", "VOLUME DOWN", "DONE" me_bind_action emuctrl_actions[] = { - { "Load State ", 1<<28 }, - { "Save State ", 1<<27 }, - { "Prev Save Slot ", 1<<25 }, - { "Next Save Slot ", 1<<24 }, - { "Switch Renderer", 1<<26 }, - { "Volume Down ", 1<<30 }, - { "Volume Up ", 1<<29 }, - { "Fast forward ", 1<<22 }, - { "Enter Menu ", 1<<23 }, - { NULL, 0 } + { "Load State ", 1<<28 }, + { "Save State ", 1<<27 }, + { "Prev Save Slot ", 1<<25 }, + { "Next Save Slot ", 1<<24 }, + { "Switch Renderer ", 1<<26 }, + { "Volume Down ", 1<<30 }, + { "Volume Up ", 1<<29 }, + { "Fast forward ", 1<<22 }, + { "Enter Menu ", 1<<23 }, + { "Pico Next page ", 1<<21 }, + { "Pico Prev page ", 1<<20 }, + { "Pico Switch input", 1<<19 }, + { NULL, 0 } }; static void kc_sel_loop(void) @@ -1724,10 +1728,11 @@ int menu_loop_tray(void) case 0: // select image selfname = romsel_loop(curr_path); if (selfname) { - int ret = -1, cd_type; + int ret = -1; + cd_img_type cd_type; cd_type = emu_cdCheck(NULL); - if (cd_type > 0) - ret = Insert_CD(romFileName, cd_type == 2); + if (cd_type != CIT_NOT_CD) + ret = Insert_CD(romFileName, cd_type); if (ret != 0) { sprintf(menuErrorMsg, "Load failed, invalid CD image?"); printf("%s\n", menuErrorMsg);