コード例 #1
0
ファイル: rw_imp.c プロジェクト: Slipyx/r1q2
/*
** 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;
}
コード例 #2
0
ファイル: rw_corona.c プロジェクト: luaman/qforge-2
/*
** 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;
}