\r
/* ***************************************** */\r
\r
-static void draw_menu_credits(void)\r
+static void draw_menu_credits(void (*draw_more)(void))\r
{\r
const char *creds, *p;\r
int x, y, h, w, wt;\r
p++;\r
}\r
\r
+ if (draw_more != NULL)\r
+ draw_more();\r
+\r
menu_draw_end();\r
}\r
\r
\r
// -------------- ROM selector --------------\r
\r
-// rrrr rggg gggb bbbb\r
-static unsigned short file2color(const char *fname)\r
-{\r
- const char *ext = fname + strlen(fname) - 3;\r
- static const char *rom_exts[] = { "zip", "bin", "smd", "gen", "iso", "cso", "cue" };\r
- static const char *other_exts[] = { "gmv", "pat" };\r
- int i;\r
-\r
- if (ext < fname) ext = fname;\r
- for (i = 0; i < array_size(rom_exts); i++)\r
- if (strcasecmp(ext, rom_exts[i]) == 0) return 0xbdff; // FIXME: mk defines\r
- for (i = 0; i < array_size(other_exts); i++)\r
- if (strcasecmp(ext, other_exts[i]) == 0) return 0xaff5;\r
- return 0xffff;\r
-}\r
-\r
static void draw_dirlist(char *curdir, struct dirent **namelist, int n, int sel)\r
{\r
int max_cnt, start, i, x, pos;\r
smalltext_out16(x, pos * me_sfont_h, "/", 0xfff6);\r
smalltext_out16(x + me_sfont_w, pos * me_sfont_h, namelist[i+1]->d_name, 0xfff6);\r
} else {\r
- unsigned short color = file2color(namelist[i+1]->d_name);\r
+ unsigned short color = fname2color(namelist[i+1]->d_name);\r
smalltext_out16(x, pos * me_sfont_h, namelist[i+1]->d_name, color);\r
}\r
}\r