when resetting the D3D device, use the preferred video mode and not the current desktop mode. This fixes "Win98, full-screen, alt-tab away, alt-tab back and the game is running fullscreen at the desktop video mode"
This commit is contained in:
@@ -669,16 +669,16 @@ bool RageDisplay_D3D::BeginFrame()
|
||||
case D3DERR_DEVICELOST:
|
||||
return false;
|
||||
case D3DERR_DEVICENOTRESET:
|
||||
{
|
||||
bool bIgnore = false;
|
||||
VideoModeParams params;
|
||||
GraphicsWindow::GetParams( params );
|
||||
{
|
||||
bool bIgnore = false;
|
||||
VideoModeParams params;
|
||||
GetPreferredVideoModeParams( params );
|
||||
|
||||
CString sError = SetVideoMode( params, bIgnore );
|
||||
if( sError != "" )
|
||||
RageException::Throw( sError );
|
||||
break;
|
||||
}
|
||||
CString sError = SetVideoMode( params, bIgnore );
|
||||
if( sError != "" )
|
||||
RageException::Throw( sError );
|
||||
break;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
@@ -88,7 +88,7 @@ static bool g_bHasFocus = true;
|
||||
void ReadGamePrefsFromDisk( bool bSwitchToLastPlayedGame );
|
||||
|
||||
|
||||
void GetCurVideoModeParams( VideoModeParams ¶msOut )
|
||||
void GetPreferredVideoModeParams( VideoModeParams ¶msOut )
|
||||
{
|
||||
paramsOut = VideoModeParams(
|
||||
PREFSMAN->m_bWindowed,
|
||||
@@ -174,7 +174,7 @@ void ApplyGraphicOptions()
|
||||
bool bNeedReload = false;
|
||||
|
||||
VideoModeParams params;
|
||||
GetCurVideoModeParams( params );
|
||||
GetPreferredVideoModeParams( params );
|
||||
CString sError = DISPLAY->SetVideoMode( params, bNeedReload );
|
||||
if( sError != "" )
|
||||
RageException::Throw( sError );
|
||||
@@ -693,7 +693,7 @@ RageDisplay *CreateDisplay()
|
||||
CheckVideoDefaultSettings();
|
||||
|
||||
VideoModeParams params;
|
||||
GetCurVideoModeParams( params );
|
||||
GetPreferredVideoModeParams( params );
|
||||
|
||||
CString error = "There was an error while initializing your video card.\n\n"
|
||||
"Please do not file this error as a bug! Use the web page below to troubleshoot this problem.\n\n"
|
||||
|
||||
@@ -27,7 +27,7 @@ extern char **g_argv;
|
||||
bool GetCommandlineArgument( const CString &option, CString *argument=NULL, int iIndex=0 );
|
||||
|
||||
struct VideoModeParams;
|
||||
void GetCurVideoModeParams( VideoModeParams ¶msOut );
|
||||
void GetPreferredVideoModeParams( VideoModeParams ¶msOut );
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
Reference in New Issue
Block a user