- memset32(g_menubg_src_ptr, 0, 800 * 480 * 2 / 4);\r
-\r
- for (y = 0; y < 240; y++, s += 320, d += 800*2/2) {\r
- for (x = 0; x < 320; x++) {\r
- t = s[x];\r
- t |= t << 16;\r
- d[x] = d[x + 800 / 2] = t;\r
+ memset32(g_menubg_src_ptr, 0, g_menuscreen_w * g_menuscreen_h * 2 / 4);\r
+\r
+ if (!no_scale && g_menuscreen_w >= 640 && g_menuscreen_h >= 480) {\r
+ unsigned int t, *d = g_menubg_src_ptr;\r
+ d += (g_menuscreen_h / 2 - 480 / 2) * g_menuscreen_w / 2;\r
+ d += (g_menuscreen_w / 2 - 640 / 2) / 2;\r
+ for (y = 0; y < 240; y++, s += 320, d += g_menuscreen_w*2/2) {\r
+ for (x = 0; x < 320; x++) {\r
+ t = s[x];\r
+ t |= t << 16;\r
+ d[x] = d[x + g_menuscreen_w / 2] = t;\r
+ }\r