X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=fce.c;h=7cc5996853fa14c3b48c72959e70a25e2cfaaee2;hp=814c80e7d2723333b906fd3526e5f8c46ca43dca;hb=e5f8a1a92df07167d0b17dfa41cc3e9e8fa73339;hpb=e328100eecae3adfce1c3b57364bee5d166217ef diff --git a/fce.c b/fce.c index 814c80e..7cc5996 100644 --- a/fce.c +++ b/fce.c @@ -95,7 +95,7 @@ static uint8 deemp=0; static int deempcnt[8]; FCEUGI FCEUGameInfo; -void (*GameInterface)(int h); +void (*GameInterface)(int h, void *param); void FP_FASTAPASS(1) (*PPU_hook)(uint32 A); @@ -605,7 +605,7 @@ static void LineUpdate(uint8 *target) { uint32 tem; - if(FSkip) + if(FSkip || scanline < FSettings.FirstSLine || scanline > FSettings.LastSLine) { if(PPU_hook) PRefreshLine(); @@ -614,13 +614,7 @@ static void LineUpdate(uint8 *target) { if(ScreenON) { - if(scanline>=FSettings.FirstSLine && scanline<=FSettings.LastSLine) - BGRender(target); - else - { - if(PPU_hook) - PRefreshLine(); - } + BGRender(target); } else { @@ -1045,6 +1039,7 @@ void ResetMapping(void) int GameLoaded=0; void CloseGame(void) { + FCEUI_StopMovie(); if(GameLoaded) { if(FCEUGameInfo.type!=GIT_NSF) @@ -1052,7 +1047,7 @@ void CloseGame(void) #ifdef NETWORK if(FSettings.NetworkPlay) KillNetplay(); #endif - GameInterface(GI_CLOSE); + GameInterface(GI_CLOSE, 0); CloseGenie(); GameLoaded=0; } @@ -1234,13 +1229,13 @@ static void DoLine(void) #ifdef FRAMESKIP if(!FSkip) #endif - if(SpriteON && spork) - CopySprites(target); + if(scanline>=FSettings.FirstSLine && scanline<=FSettings.LastSLine) + { + if(SpriteON && spork) + CopySprites(target); -#ifdef FRAMESKIP - if(!FSkip) -#endif - LineUpdateEnd(target); + LineUpdateEnd(target); + } sphitx=0x100; if(ScreenON || SpriteON) @@ -1466,7 +1461,7 @@ static void PowerPPU(void) void ResetNES(void) { if(!GameLoaded) return; - GameInterface(GI_RESETM2); + GameInterface(GI_RESETM2, 0); ResetSound(); ResetPPU(); X6502_Reset(); @@ -1499,7 +1494,7 @@ void PowerNES(void) memset(RAM,0x00,0x800); #endif ResetMapping(); - GameInterface(GI_POWER); + GameInterface(GI_POWER, 0); PowerSound(); PowerPPU(); timestampbase=0;