X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=platform%2Fcommon%2Fmenu_pico.c;h=da820ea5ddee3896fca87abc35797ef7e149f788;hb=5199e6b549281e92b4152a3e51b464e690623bfd;hp=caf2be166dc2866d32b3381c0dd4988095ee91ac;hpb=d2fd8a7a67a0f7a914931add447b469d9a4dd96b;p=picodrive.git diff --git a/platform/common/menu_pico.c b/platform/common/menu_pico.c index caf2be1..da820ea 100644 --- a/platform/common/menu_pico.c +++ b/platform/common/menu_pico.c @@ -6,6 +6,22 @@ #include #include +// rrrr rggg gggb bbbb +static unsigned short fname2color(const char *fname) +{ + const char *ext = fname + strlen(fname) - 3; + static const char *rom_exts[] = { "zip", "bin", "smd", "gen", "iso", "cso", "cue" }; + static const char *other_exts[] = { "gmv", "pat" }; + int i; + + if (ext < fname) ext = fname; + for (i = 0; i < array_size(rom_exts); i++) + if (strcasecmp(ext, rom_exts[i]) == 0) return 0xbdff; // FIXME: mk defines + for (i = 0; i < array_size(other_exts); i++) + if (strcasecmp(ext, other_exts[i]) == 0) return 0xaff5; + return 0xffff; +} + #include "menu.c" /* platform specific options and handlers */ @@ -19,6 +35,26 @@ #define menu_main_plat_draw NULL #endif +static void menu_enter(int is_rom_loaded) +{ + if (is_rom_loaded) + { + // darken the active framebuffer + menu_darken_bg(g_menubg_ptr, g_menubg_src_ptr, g_menuscreen_w * g_menuscreen_h, 1); + } + else + { + char buff[256]; + + // should really only happen once, on startup.. + emu_make_path(buff, "skin/background.png", sizeof(buff)); + if (readpng(g_menubg_ptr, buff, READPNG_BG, g_menuscreen_w, g_menuscreen_h) < 0) + memset(g_menubg_ptr, 0, g_menuscreen_w * g_menuscreen_h * 2); + } + + plat_video_menu_enter(is_rom_loaded); +} + static void draw_savestate_bg(int slot) { const char *fname; @@ -839,7 +875,7 @@ static int main_menu_handler(int id, int keys) } break; case MA_MAIN_CREDITS: - draw_menu_credits(); + draw_menu_message(, NULL); in_menu_wait(PBTN_MOK|PBTN_MBACK, 70); break; case MA_MAIN_EXIT: