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:
Chris Danford
2005-11-10 18:55:03 +00:00
parent 7f5a4b8373
commit 311fd70573
3 changed files with 13 additions and 13 deletions
+9 -9
View File
@@ -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
+3 -3
View File
@@ -88,7 +88,7 @@ static bool g_bHasFocus = true;
void ReadGamePrefsFromDisk( bool bSwitchToLastPlayedGame );
void GetCurVideoModeParams( VideoModeParams &paramsOut )
void GetPreferredVideoModeParams( VideoModeParams &paramsOut )
{
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"
+1 -1
View File
@@ -27,7 +27,7 @@ extern char **g_argv;
bool GetCommandlineArgument( const CString &option, CString *argument=NULL, int iIndex=0 );
struct VideoModeParams;
void GetCurVideoModeParams( VideoModeParams &paramsOut );
void GetPreferredVideoModeParams( VideoModeParams &paramsOut );
#endif