do full frame before menu for proper bg

git-svn-id: file:///home/notaz/opt/svn/PicoDrive/platform@734 be3aeb3a-fb24-0410-a615-afba39da0efa
This commit is contained in:
notaz 2009-08-05 19:22:23 +00:00
parent 782b026efc
commit 7bc9a680a2
2 changed files with 21 additions and 6 deletions

View file

@ -1429,9 +1429,6 @@ void emu_loop(void)
emu_set_fastforward(0); emu_set_fastforward(0);
if (PicoAHW & PAHW_MCD)
PicoCDBufferFree();
// save SRAM // save SRAM
if ((currentConfig.EmuOpt & EOPT_EN_SRAM) && SRam.changed) { if ((currentConfig.EmuOpt & EOPT_EN_SRAM) && SRam.changed) {
plat_status_msg_busy_first("Writing SRAM/BRAM..."); plat_status_msg_busy_first("Writing SRAM/BRAM...");
@ -1439,9 +1436,11 @@ void emu_loop(void)
SRam.changed = 0; SRam.changed = 0;
} }
// do menu background to be sure it's right
pemu_forced_frame(POPT_EN_SOFTSCALE);
pemu_loop_end(); pemu_loop_end();
// pemu_loop_end() might want to do 1 frame for bg image,
// so free CD buffer here
if (PicoAHW & PAHW_MCD)
PicoCDBufferFree();
} }

View file

@ -788,6 +788,22 @@ void pemu_loop_prep(void)
void pemu_loop_end(void) void pemu_loop_end(void)
{ {
int po_old = PicoOpt;
int eo_old = currentConfig.EmuOpt;
/* do one more frame for menu bg */
PicoOpt &= ~POPT_ALT_RENDERER;
PicoOpt |= POPT_EN_SOFTSCALE|POPT_ACC_SPRITES;
currentConfig.EmuOpt |= EOPT_16BPP;
PicoScanBegin = EmuScanBegin16;
PicoScanEnd = NULL;
PicoDrawSetColorFormat(1);
Pico.m.dirtyPal = 1;
PicoFrame();
PicoOpt = po_old;
currentConfig.EmuOpt = eo_old;
} }
const char *plat_get_credits(void) const char *plat_get_credits(void)