/* ** SWimp_SetMode */ rserr_t SWimp_SetMode( int *pwidth, int *pheight, int mode, qboolean fullscreen ) { const char *win_fs[] = { "W", "FS" }; rserr_t retval = rserr_ok; ri.Con_Printf (PRINT_ALL, "setting mode %d:", mode ); if ( !ri.Vid_GetModeInfo( pwidth, pheight, mode ) ) { ri.Con_Printf( PRINT_ALL, " invalid mode\n" ); return rserr_invalid_mode; } ri.Con_Printf( PRINT_ALL, " %d %d %s\n", *pwidth, *pheight, win_fs[fullscreen] ); sww_state.initializing = true; if ( fullscreen ) { if ( !SWimp_InitGraphics( 1 ) ) { if ( SWimp_InitGraphics( 0 ) ) { // mode is legal but not as fullscreen fullscreen = 0; retval = rserr_invalid_fullscreen; } else { // failed to set a valid mode in windowed mode retval = rserr_unknown; } } } else { // failure to set a valid mode in windowed mode if ( !SWimp_InitGraphics( fullscreen ) ) { sww_state.initializing = true; return rserr_unknown; } } sw_state.fullscreen = fullscreen; #if 0 if ( retval != rserr_unknown ) { if ( retval == rserr_invalid_fullscreen || ( retval == rserr_ok && !fullscreen ) ) { SetWindowLong( sww_state.hWnd, GWL_STYLE, WINDOW_STYLE ); } } #endif R_GammaCorrectAndSetPalette( ( const unsigned char * ) d_8to24table ); sww_state.initializing = true; return retval; }
/* ** SWimp_SetMode */ rserr_t SWimp_SetMode( int *pwidth, int *pheight, int mode, qboolean fullscreen){ rserr_t retval = rserr_ok; ri.Con_Printf(PRINT_ALL, "setting mode %d:", mode); if( !ri.Vid_GetModeInfo( pwidth, pheight, mode)){ ri.Con_Printf( PRINT_ALL, " invalid mode\n"); return rserr_invalid_mode; } ri.Con_Printf( PRINT_ALL, " %d %d\n", *pwidth, *pheight); if( !SWimp_InitGraphics( false)){ // failed to set a valid mode in windowed mode return rserr_invalid_mode; } R_GammaCorrectAndSetPalette((const unsigned char *)d_8to24table); return retval; }