mirror of
https://github.com/UberGames/lilium-voyager.git
synced 2024-12-14 14:11:15 +00:00
* SDL build no longer requires a vid_restart when changing r_fullscreen
This commit is contained in:
parent
355fd83d11
commit
947ebb932e
3 changed files with 48 additions and 22 deletions
|
@ -1050,17 +1050,11 @@ void CL_KeyEvent (int key, qboolean down, unsigned time) {
|
||||||
if (keys[K_ALT].down)
|
if (keys[K_ALT].down)
|
||||||
{
|
{
|
||||||
Key_ClearStates();
|
Key_ClearStates();
|
||||||
if (Cvar_VariableValue("r_fullscreen") == 0)
|
Cvar_SetValue( "r_fullscreen",
|
||||||
{
|
!Cvar_VariableIntegerValue( "r_fullscreen" ) );
|
||||||
Com_Printf("Switching to fullscreen rendering\n");
|
#if !USE_SDL_VIDEO // This is handled in sdl_glimp.c/GLimp_EndFrame
|
||||||
Cvar_Set("r_fullscreen", "1");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
Com_Printf("Switching to windowed rendering\n");
|
|
||||||
Cvar_Set("r_fullscreen", "0");
|
|
||||||
}
|
|
||||||
Cbuf_ExecuteText( EXEC_APPEND, "vid_restart\n");
|
Cbuf_ExecuteText( EXEC_APPEND, "vid_restart\n");
|
||||||
|
#endif
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -926,7 +926,11 @@ void R_Register( void )
|
||||||
r_overBrightBits = ri.Cvar_Get ("r_overBrightBits", "1", CVAR_ARCHIVE | CVAR_LATCH );
|
r_overBrightBits = ri.Cvar_Get ("r_overBrightBits", "1", CVAR_ARCHIVE | CVAR_LATCH );
|
||||||
r_ignorehwgamma = ri.Cvar_Get( "r_ignorehwgamma", "0", CVAR_ARCHIVE | CVAR_LATCH);
|
r_ignorehwgamma = ri.Cvar_Get( "r_ignorehwgamma", "0", CVAR_ARCHIVE | CVAR_LATCH);
|
||||||
r_mode = ri.Cvar_Get( "r_mode", "3", CVAR_ARCHIVE | CVAR_LATCH );
|
r_mode = ri.Cvar_Get( "r_mode", "3", CVAR_ARCHIVE | CVAR_LATCH );
|
||||||
|
#if USE_SDL_VIDEO
|
||||||
|
r_fullscreen = ri.Cvar_Get( "r_fullscreen", "1", CVAR_ARCHIVE );
|
||||||
|
#else
|
||||||
r_fullscreen = ri.Cvar_Get( "r_fullscreen", "1", CVAR_ARCHIVE | CVAR_LATCH );
|
r_fullscreen = ri.Cvar_Get( "r_fullscreen", "1", CVAR_ARCHIVE | CVAR_LATCH );
|
||||||
|
#endif
|
||||||
r_customwidth = ri.Cvar_Get( "r_customwidth", "1600", CVAR_ARCHIVE | CVAR_LATCH );
|
r_customwidth = ri.Cvar_Get( "r_customwidth", "1600", CVAR_ARCHIVE | CVAR_LATCH );
|
||||||
r_customheight = ri.Cvar_Get( "r_customheight", "1024", CVAR_ARCHIVE | CVAR_LATCH );
|
r_customheight = ri.Cvar_Get( "r_customheight", "1024", CVAR_ARCHIVE | CVAR_LATCH );
|
||||||
r_customaspect = ri.Cvar_Get( "r_customaspect", "1", CVAR_ARCHIVE | CVAR_LATCH );
|
r_customaspect = ri.Cvar_Get( "r_customaspect", "1", CVAR_ARCHIVE | CVAR_LATCH );
|
||||||
|
|
|
@ -1040,6 +1040,34 @@ void GLimp_EndFrame (void)
|
||||||
SDL_GL_SwapBuffers();
|
SDL_GL_SwapBuffers();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if( r_fullscreen->modified )
|
||||||
|
{
|
||||||
|
qboolean fullscreen;
|
||||||
|
qboolean sdlToggled = qfalse;
|
||||||
|
SDL_Surface *s = SDL_GetVideoSurface( );
|
||||||
|
|
||||||
|
if( s )
|
||||||
|
{
|
||||||
|
// Find out the current state
|
||||||
|
if( s->flags & SDL_FULLSCREEN )
|
||||||
|
fullscreen = qtrue;
|
||||||
|
else
|
||||||
|
fullscreen = qfalse;
|
||||||
|
|
||||||
|
// Is the state we want different from the current state?
|
||||||
|
if( !!r_fullscreen->integer != fullscreen )
|
||||||
|
sdlToggled = SDL_WM_ToggleFullScreen( s );
|
||||||
|
else
|
||||||
|
sdlToggled = qtrue;
|
||||||
|
}
|
||||||
|
|
||||||
|
// SDL_WM_ToggleFullScreen didn't work, so do it the slow way
|
||||||
|
if( !sdlToggled )
|
||||||
|
Cbuf_AddText( "vid_restart" );
|
||||||
|
|
||||||
|
r_fullscreen->modified = qfalse;
|
||||||
|
}
|
||||||
|
|
||||||
// check logging
|
// check logging
|
||||||
QGL_EnableLogging( (qboolean)r_logFile->integer ); // bk001205 - was ->value
|
QGL_EnableLogging( (qboolean)r_logFile->integer ); // bk001205 - was ->value
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue