#define menu_screen psp_screen
static void menu_darken_bg(void *dst, const void *src, int pixels, int darker);
-static void menu_prepare_bg(int use_game_bg);
+static void menu_prepare_bg(int use_game_bg, int use_fg);
static unsigned int inp_prev = 0;
if (pos > 26) break;
if (namelist[i+1]->d_type & DT_DIR) {
smalltext_out16_lim(14, pos*10, "/", 0xd7ff, 1);
- smalltext_out16_lim(14+6, pos*10, namelist[i+1]->d_name, 0xd7ff, 53-3);
+ smalltext_out16_lim(14+6, pos*10, namelist[i+1]->d_name, 0xd7ff, 80-3);
} else {
unsigned short color = file2color(namelist[i+1]->d_name);
- smalltext_out16_lim(14, pos*10, namelist[i+1]->d_name, color, 53-2);
+ smalltext_out16_lim(14, pos*10, namelist[i+1]->d_name, color, 80-2);
}
}
text_out16(5, 130, ">");
}
emu_forcedFrame();
- menu_prepare_bg(1);
+ menu_prepare_bg(1, 0);
restore_oldstate(oldstate);
}
memset32(psp_screen, 0, 512*272*2/4);
emu_forcedFrame();
- menu_prepare_bg(1);
+ menu_prepare_bg(1, 0);
if (oldstate) restore_oldstate(oldstate);
}
{
case MA_OPT_RENDERER:
if (currentConfig.PicoOpt&0x10)
- str = " 8bit fast";
+ str = "fast";
else if (currentConfig.EmuOpt&0x80)
- str = "16bit accurate";
+ str = "accurate";
else
- str = " 8bit accurate";
- text_out16(x, y, "Renderer: %s", str);
+ str = " 8bit accurate"; // n/a
+ text_out16(x, y, "Renderer: %s", str);
break;
case MA_OPT_FRAMESKIP:
if (currentConfig.Frameskip < 0)
if (!me_process(opt_entries, OPT_ENTRY_COUNT, selected_id, (inp&BTN_RIGHT) ? 1 : 0)) {
switch (selected_id) {
case MA_OPT_RENDERER:
- if (inp & BTN_LEFT) {
- if ((currentConfig.PicoOpt&0x10) || !(currentConfig.EmuOpt &0x80)) {
- currentConfig.PicoOpt&= ~0x10;
- currentConfig.EmuOpt |= 0x80;
- }
+ if ((currentConfig.PicoOpt&0x10) || !(currentConfig.EmuOpt &0x80)) {
+ currentConfig.PicoOpt&= ~0x10;
+ currentConfig.EmuOpt |= 0x80;
} else {
- if (!(currentConfig.PicoOpt&0x10) || (currentConfig.EmuOpt &0x80)) {
- currentConfig.PicoOpt|= 0x10;
- currentConfig.EmuOpt &= ~0x80;
- }
+ currentConfig.PicoOpt|= 0x10;
+ currentConfig.EmuOpt &= ~0x80;
}
break;
case MA_OPT_SOUND_QUALITY:
- if ((inp & BTN_RIGHT) && currentConfig.PsndRate == 44100 &&
- !(currentConfig.PicoOpt&0x08))
- {
- currentConfig.PsndRate = 11025;
- currentConfig.PicoOpt |= 8;
- } else if ((inp & BTN_LEFT) && currentConfig.PsndRate == 11025 &&
- (currentConfig.PicoOpt&0x08) && !(PicoMCD&1))
- {
- currentConfig.PsndRate = 44100;
- currentConfig.PicoOpt &= ~8;
- } else
- currentConfig.PsndRate = sndrate_prevnext(currentConfig.PsndRate, inp & BTN_RIGHT);
+ currentConfig.PsndRate = sndrate_prevnext(currentConfig.PsndRate, inp & BTN_RIGHT);
break;
case MA_OPT_REGION:
region_prevnext(inp & BTN_RIGHT);
}
}
-static void menu_prepare_bg(int use_game_bg)
+static void menu_prepare_bg(int use_game_bg, int use_fg)
{
if (use_game_bg)
{
// darken the active framebuffer
unsigned short *dst = bg_buffer;
- unsigned short *src = psp_screen;
+ unsigned short *src = use_fg ? psp_video_get_active_fb() : psp_screen;
int i;
for (i = 272; i > 0; i--, dst += 480, src += 512)
menu_darken_bg(dst, src, 480, 1);
static void menu_gfx_prepare(void)
{
- menu_prepare_bg(rom_data != NULL);
+ menu_prepare_bg(rom_data != NULL, 1);
menu_draw_begin();
menu_draw_end();