X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=common%2Fmenu_pico.c;h=f6e9b264016980bdb04cd12ff4cd11020973460b;hb=ca69c3e5a0ecf407c02dc85c6f3282ebb1efc5a2;hp=b9f1d7f1c255cf2eed3586abe54b364019019f09;hpb=95a2ec38bc4338db3c50985d11d86fc04a95b399;p=libpicofe.git diff --git a/common/menu_pico.c b/common/menu_pico.c index b9f1d7f..f6e9b26 100644 --- a/common/menu_pico.c +++ b/common/menu_pico.c @@ -1,4 +1,7 @@ +#include + #include "emu.h" +#include "menu_pico.h" #include #include @@ -22,6 +25,11 @@ static unsigned short fname2color(const char *fname) return 0xffff; } +static const char *filter_exts[] = { + ".mp3", ".MP3", ".srm", ".brm", "s.gz", ".mds", "bcfg", ".txt", ".htm", "html", + ".jpg", ".gpe" +}; + #include "menu.c" /* platform specific options and handlers */ @@ -185,7 +193,8 @@ static void menu_loop_patches(void) for (;;) { draw_patchlist(menu_sel); - inp = in_menu_wait(PBTN_UP|PBTN_DOWN|PBTN_LEFT|PBTN_RIGHT|PBTN_L|PBTN_R|PBTN_MOK|PBTN_MBACK, 33); + inp = in_menu_wait(PBTN_UP|PBTN_DOWN|PBTN_LEFT|PBTN_RIGHT|PBTN_L|PBTN_R + |PBTN_MOK|PBTN_MBACK, NULL, 33); if (inp & PBTN_UP ) { menu_sel--; if (menu_sel < 0) menu_sel = PicoPatchCount; } if (inp & PBTN_DOWN) { menu_sel++; if (menu_sel > PicoPatchCount) menu_sel = 0; } if (inp &(PBTN_LEFT|PBTN_L)) { menu_sel-=10; if (menu_sel < 0) menu_sel = 0; } @@ -306,7 +315,7 @@ static int menu_loop_keyconfig(int id, int keys) static int sel = 0; me_enable(e_menu_keyconfig, MA_OPT_SAVECFG_GAME, rom_loaded); - me_loop(e_menu_keyconfig, &sel, NULL); + me_loop(e_menu_keyconfig, &sel); return 0; } @@ -362,7 +371,7 @@ static menu_entry e_menu_cd_options[] = static int menu_loop_cd_options(int id, int keys) { static int sel = 0; - me_loop(e_menu_cd_options, &sel, NULL); + me_loop(e_menu_cd_options, &sel); return 0; } @@ -399,8 +408,8 @@ static const char *mgn_opt_sh2cycles(int id, int *offs) static const char h_32x_enable[] = "Enable emulation of the 32X addon"; static const char h_pwm[] = "Disabling may improve performance, but break sound"; static const char h_sh2cycles[] = "Cycles/millisecond (similar to DOSBox)\n" - "lower values speed up emulation but break games\n" - "at least 11000 recommended for compatibility"; + "lower values speed up emulation but break games\n" + "at least 11000 recommended for compatibility"; static menu_entry e_menu_32x_options[] = { @@ -417,7 +426,7 @@ static int menu_loop_32x_options(int id, int keys) static int sel = 0; me_enable(e_menu_32x_options, MA_32XOPT_RENDERER, renderer_names32x[0] != NULL); - me_loop(e_menu_32x_options, &sel, NULL); + me_loop(e_menu_32x_options, &sel); return 0; } @@ -444,7 +453,7 @@ static menu_entry e_menu_adv_options[] = static int menu_loop_adv_options(int id, int keys) { static int sel = 0; - me_loop(e_menu_adv_options, &sel, NULL); + me_loop(e_menu_adv_options, &sel); return 0; } @@ -462,7 +471,7 @@ static int menu_loop_gfx_options(int id, int keys) static int sel = 0; me_enable(e_menu_gfx_options, MA_OPT_RENDERER, renderer_names[0] != NULL); - me_loop(e_menu_gfx_options, &sel, NULL); + me_loop(e_menu_gfx_options, &sel); return 0; } @@ -668,7 +677,7 @@ static int menu_loop_options(int id, int keys) me_enable(e_menu_options, MA_OPT_SAVECFG_GAME, rom_loaded); me_enable(e_menu_options, MA_OPT_LOADCFG, config_slot != config_slot_current); - me_loop(e_menu_options, &sel, NULL); + me_loop(e_menu_options, &sel); return 0; } @@ -686,7 +695,7 @@ static void mplayer_loop(void) while (1) { PDebugZ80Frame(); - if (in_menu_wait_any(0) & PBTN_MA3) + if (in_menu_wait_any(NULL, 0) & PBTN_MA3) break; pemu_sound_wait(); } @@ -782,7 +791,7 @@ static void debug_menu_loop(void) menu_draw_end(); inp = in_menu_wait(PBTN_MOK|PBTN_MBACK|PBTN_MA2|PBTN_MA3|PBTN_L|PBTN_R | - PBTN_UP|PBTN_DOWN|PBTN_LEFT|PBTN_RIGHT, 70); + PBTN_UP|PBTN_DOWN|PBTN_LEFT|PBTN_RIGHT, NULL, 70); if (inp & PBTN_MBACK) return; if (inp & PBTN_L) { mode--; if (mode < 0) mode = 4; } if (inp & PBTN_R) { mode++; if (mode > 4) mode = 0; } @@ -793,13 +802,13 @@ static void debug_menu_loop(void) PDebugCPUStep(); if (inp & PBTN_MA3) { while (inp & PBTN_MA3) - inp = in_menu_wait_any(-1); + inp = in_menu_wait_any(NULL, -1); mplayer_loop(); } if ((inp & (PBTN_MA2|PBTN_LEFT)) == (PBTN_MA2|PBTN_LEFT)) { mkdir("dumps", 0777); PDebugDumpMem(); - while (inp & PBTN_MA2) inp = in_menu_wait_any(-1); + while (inp & PBTN_MA2) inp = in_menu_wait_any(NULL, -1); dumped = 1; } break; @@ -814,7 +823,7 @@ static void debug_menu_loop(void) PicoSkipFrame = 1; PicoFrame(); PicoSkipFrame = 0; - while (inp & PBTN_MOK) inp = in_menu_wait_any(-1); + while (inp & PBTN_MOK) inp = in_menu_wait_any(NULL, -1); } break; case 3: @@ -828,6 +837,26 @@ static void debug_menu_loop(void) // ------------ main menu ------------ +static const char credits[] = + "PicoDrive v" VERSION " (c) notaz, 2006-2011\n\n\n" + "Credits:\n" + "fDave: Cyclone 68000 core,\n" + " base code of PicoDrive\n" + "Reesy & FluBBa: DrZ80 core\n" + "MAME devs: YM2612 and SN76496 cores\n" + "Inder, ketchupgun: graphics\n" +#ifdef __GP2X__ + "rlyeh and others: minimal SDK\n" + "Squidge: mmuhack\n" + "Dzz: ARM940 sample\n" +#endif + "\n" + "special thanks (for docs, ideas):\n" + " Charles MacDonald, Haze,\n" + " Stephane Dallongeville,\n" + " Lordus, Exophase, Rokas,\n" + " Nemesis, Tasco Deluxe"; + static char *romsel_run(void) { char *ret, *sel_name; @@ -875,8 +904,8 @@ static int main_menu_handler(int id, int keys) } break; case MA_MAIN_CREDITS: - draw_menu_credits(); - in_menu_wait(PBTN_MOK|PBTN_MBACK, 70); + draw_menu_message(credits, NULL); + in_menu_wait(PBTN_MOK|PBTN_MBACK, NULL, 70); break; case MA_MAIN_EXIT: engineState = PGS_Quit; @@ -927,13 +956,13 @@ void menu_loop(void) menu_enter(rom_loaded); in_set_config_int(0, IN_CFG_BLOCKING, 1); - me_loop(e_menu_main, &sel, menu_main_plat_draw); + me_loop_d(e_menu_main, &sel, NULL, menu_main_plat_draw); if (rom_loaded) { if (engineState == PGS_Menu) engineState = PGS_Running; /* wait until menu, ok, back is released */ - while (in_menu_wait_any(50) & (PBTN_MENU|PBTN_MOK|PBTN_MBACK)) + while (in_menu_wait_any(NULL, 50) & (PBTN_MENU|PBTN_MOK|PBTN_MBACK)) ; } @@ -976,14 +1005,14 @@ int menu_loop_tray(void) menu_enter(rom_loaded); in_set_config_int(0, IN_CFG_BLOCKING, 1); - me_loop(e_menu_tray, &sel, NULL); + me_loop(e_menu_tray, &sel); if (engineState != PGS_RestartRun) { engineState = PGS_RestartRun; ret = 0; /* no CD inserted */ } - while (in_menu_wait_any(50) & (PBTN_MENU|PBTN_MOK|PBTN_MBACK)); + while (in_menu_wait_any(NULL, 50) & (PBTN_MENU|PBTN_MOK|PBTN_MBACK)); in_set_config_int(0, IN_CFG_BLOCKING, 0); return ret;