-// (c) Copyright 2006-2010 notaz, All rights reserved.\r
-// Free for non-commercial use.\r
-\r
-// For commercial use, separate licencing terms must be obtained.\r
+/*\r
+ * (C) GraÅžvydas "notaz" Ignotas, 2006-2010\r
+ *\r
+ * This work is licensed under the terms of any of these licenses\r
+ * (at your option):\r
+ * - GNU GPL, version 2 or later.\r
+ * - GNU LGPL, version 2.1 or later.\r
+ * See the COPYING file in the top-level directory.\r
+ */\r
\r
#include <stdio.h>\r
#include <string.h>\r
}\r
}\r
\r
-static void menu_enter(int is_rom_loaded)\r
-{\r
- if (is_rom_loaded)\r
- {\r
- // darken the active framebuffer\r
- menu_darken_bg(g_menubg_ptr, g_menubg_src_ptr, g_menuscreen_w * g_menuscreen_h, 1);\r
- }\r
- else\r
- {\r
- char buff[256];\r
-\r
- // should really only happen once, on startup..\r
- emu_make_path(buff, "skin/background.png", sizeof(buff));\r
- if (readpng(g_menubg_ptr, buff, READPNG_BG, g_menuscreen_w, g_menuscreen_h) < 0)\r
- memset(g_menubg_ptr, 0, g_menuscreen_w * g_menuscreen_h * 2);\r
- }\r
-\r
- plat_video_menu_enter(is_rom_loaded);\r
-}\r
-\r
static int me_id2offset(const menu_entry *ent, menu_id id)\r
{\r
int i;\r
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
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
p++;\r
}\r
\r
- x = g_menuscreen_w / 2 - w * me_mfont_w / 2;\r
+ x = g_menuscreen_w / 2 - w * me_mfont_w / 2;\r
y = g_menuscreen_h / 2 - h * me_mfont_h / 2;\r
if (x < 0) x = 0;\r
if (y < 0) y = 0;\r
{\r
int newlen;\r
char *p, *newdir;\r
- if (!(inp & PBTN_MOK)) continue;\r
+ if (!(inp & PBTN_MOK))\r
+ continue;\r
newlen = strlen(curr_path) + strlen(namelist[sel+1]->d_name) + 2;\r
newdir = malloc(newlen);\r
+ if (newdir == NULL)\r
+ break;\r
if (strcmp(namelist[sel+1]->d_name, "..") == 0) {\r
char *start = curr_path;\r
p = start + strlen(start) - 1;\r
free(namelist);\r
}\r
\r
+ // restore curr_path\r
+ if (fname != NULL) {\r
+ n = strlen(curr_path);\r
+ if (curr_path + n + 1 == fname)\r
+ curr_path[n] = '/';\r
+ }\r
+\r
return ret;\r
}\r
\r
if (x < 0) x = 0;\r
y = g_menuscreen_h / 2 - h / 2;\r
if (y < 0) y = 0;\r
+#ifdef MENU_ALIGN_LEFT\r
+ if (x > 12 + me_mfont_w * 2)\r
+ x = 12 + me_mfont_w * 2;\r
+#endif\r
\r
menu_draw_begin(1);\r
\r