Win32 - better sound bypassing during turbo while muteturbo is checked.
This commit is contained in:
parent
982facdad7
commit
dde6132ded
|
@ -1,4 +1,5 @@
|
||||||
---version 2.0.4 yet to be released---
|
---version 2.0.4 yet to be released---
|
||||||
|
18-dec-2008 - adelikat - win32 - turbo bypasses sound better if muteturbo is checked
|
||||||
18-dec-2008 - shinydoofy - sdl - fixed compiling errors for SDL due to r1037
|
18-dec-2008 - shinydoofy - sdl - fixed compiling errors for SDL due to r1037
|
||||||
18-dec-2008 - adelikat - win32 - fullscreen mode fixed (both enters and returns to fullscreen just fine)
|
18-dec-2008 - adelikat - win32 - fullscreen mode fixed (both enters and returns to fullscreen just fine)
|
||||||
16-dec-2008 - adelikat - win32 - debugger - added "Restore original window size" button
|
16-dec-2008 - adelikat - win32 - debugger - added "Restore original window size" button
|
||||||
|
|
|
@ -692,7 +692,8 @@ doloopy:
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
frameSkipCounter--;
|
frameSkipCounter--;
|
||||||
skippy = 1;
|
if (muteTurbo) skippy = 2; //If mute turbo is on, we want to bypass sound too, so set it to 2
|
||||||
|
skippy = 1; //Else set it to 1 to just frameskip
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
20
src/fceu.cpp
20
src/fceu.cpp
|
@ -544,6 +544,8 @@ void UpdateAutosave(void);
|
||||||
///Skip may be passed in, if FRAMESKIP is #defined, to cause this to emulate more than one frame
|
///Skip may be passed in, if FRAMESKIP is #defined, to cause this to emulate more than one frame
|
||||||
void FCEUI_Emulate(uint8 **pXBuf, int32 **SoundBuf, int32 *SoundBufSize, int skip)
|
void FCEUI_Emulate(uint8 **pXBuf, int32 **SoundBuf, int32 *SoundBufSize, int skip)
|
||||||
{
|
{
|
||||||
|
//skip initiates frame skip if 1, or frame skip and sound skip if 2
|
||||||
|
|
||||||
int r,ssize;
|
int r,ssize;
|
||||||
|
|
||||||
JustFrameAdvanced = false;
|
JustFrameAdvanced = false;
|
||||||
|
@ -581,8 +583,8 @@ void FCEUI_Emulate(uint8 **pXBuf, int32 **SoundBuf, int32 *SoundBufSize, int ski
|
||||||
if(geniestage!=1) FCEU_ApplyPeriodicCheats();
|
if(geniestage!=1) FCEU_ApplyPeriodicCheats();
|
||||||
r = FCEUPPU_Loop(skip);
|
r = FCEUPPU_Loop(skip);
|
||||||
|
|
||||||
ssize=FlushEmulateSound();
|
if (skip != 2) ssize=FlushEmulateSound(); //If skip = 2 we are skipping sound processing
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
UpdateCheatList();
|
UpdateCheatList();
|
||||||
UpdateTextHooker();
|
UpdateTextHooker();
|
||||||
|
@ -594,9 +596,17 @@ void FCEUI_Emulate(uint8 **pXBuf, int32 **SoundBuf, int32 *SoundBufSize, int ski
|
||||||
timestamp = 0;
|
timestamp = 0;
|
||||||
|
|
||||||
*pXBuf=skip?0:XBuf;
|
*pXBuf=skip?0:XBuf;
|
||||||
*SoundBuf=WaveFinal;
|
if (skip == 2) //If skip = 2, then bypass sound
|
||||||
*SoundBufSize=ssize;
|
{
|
||||||
|
*SoundBuf=0;
|
||||||
|
*SoundBufSize=0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
*SoundBuf=WaveFinal;
|
||||||
|
*SoundBufSize=ssize;
|
||||||
|
}
|
||||||
|
|
||||||
if (EmulationPaused&2 && ( !frameAdvanceLagSkip || !lagFlag) )
|
if (EmulationPaused&2 && ( !frameAdvanceLagSkip || !lagFlag) )
|
||||||
//Lots of conditions here. EmulationPaused&2 must be true. In addition frameAdvanceLagSkip or lagFlag must be false
|
//Lots of conditions here. EmulationPaused&2 must be true. In addition frameAdvanceLagSkip or lagFlag must be false
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue