menu: add most options
[pcsx_rearmed.git] / frontend / common / menu.c
index 1cb41c5..d9717d4 100644 (file)
@@ -461,8 +461,11 @@ static void me_draw(const menu_entry *entries, int sel, void (*draw_more)(void))
                h = g_menuscreen_h;\r
        }\r
 \r
-       x = g_menuscreen_w  / 2 - w / 2;\r
+       x = g_menuscreen_w / 2 - w / 2;\r
        y = g_menuscreen_h / 2 - h / 2;\r
+#ifdef MENU_ALIGN_LEFT\r
+       if (x > 12) x = 12;\r
+#endif\r
 \r
        /* draw */\r
        menu_draw_begin(1);\r
@@ -511,7 +514,7 @@ static void me_draw(const menu_entry *entries, int sel, void (*draw_more)(void))
                                len = strlen(names[i]);\r
                                if (len > 10)\r
                                        offs = 10 - len - 2;\r
-                               if (i == *(int *)ent->var) {\r
+                               if (i == *(unsigned char *)ent->var) {\r
                                        text_out16(x + col2_offs + offs * me_mfont_w, y, "%s", names[i]);\r
                                        break;\r
                                }\r
@@ -652,7 +655,7 @@ static void me_loop(menu_entry *menu, int *menu_sel, void (*draw_more)(void))
 \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
@@ -686,6 +689,9 @@ static void draw_menu_credits(void)
                        p++;\r
        }\r
 \r
+       if (draw_more != NULL)\r
+               draw_more();\r
+\r
        menu_draw_end();\r
 }\r
 \r
@@ -726,22 +732,6 @@ static void do_delete(const char *fpath, const char *fname)
 \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
@@ -770,7 +760,7 @@ static void draw_dirlist(char *curdir, struct dirent **namelist, int n, int sel)
                        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