Exemplo n.º 1
0
void M_Menu_Video_f( void ) {
    VID_MenuInit();

    M_PushMenu( &s_video_menu );
}
Exemplo n.º 2
0
static void ResetDefaults( void *unused )
{
	VID_MenuInit();
}
Exemplo n.º 3
0
static void ApplyChanges( void *unused )
{
	float gamma;

	/*
	** make values consistent
	*/
	s_fs_box[!s_current_menu_index].curvalue = s_fs_box[s_current_menu_index].curvalue;
	s_brightness_slider[!s_current_menu_index].curvalue = s_brightness_slider[s_current_menu_index].curvalue;
	s_ref_list[!s_current_menu_index].curvalue = s_ref_list[s_current_menu_index].curvalue;

	/*
	** invert sense so greater = brighter, and scale to a range of 0.5 to 1.3
	*/
	gamma = ( 0.8 - ( s_brightness_slider[s_current_menu_index].curvalue/10.0 - 0.5 ) ) + 0.5;

	Cvar_SetValue( "vid_gamma", gamma );
	Cvar_SetValue( "sw_stipplealpha", s_stipple_box.curvalue );
	Cvar_SetValue( "gl_picmip", 3 - s_tq_slider.curvalue );
	Cvar_SetValue( "vid_fullscreen", s_fs_box[s_current_menu_index].curvalue );
	Cvar_SetValue( "gl_ext_palettedtexture", s_paletted_texture_box.curvalue );
	Cvar_SetValue( "gl_finish", s_finish_box.curvalue );
	Cvar_SetValue( "sw_mode", s_mode_list[SOFTWARE_MENU].curvalue );
	Cvar_SetValue( "gl_mode", s_mode_list[OPENGL_MENU].curvalue );
	Cvar_SetValue( "vid_widescreen", s_aspect_ratio_list[s_current_menu_index].curvalue );	// NeVo - aspect ratio support

	// NeVo - fog toggle, overbright mode, and camera modes
	Cvar_SetValue ("ui_fogenabled", s_fogtoggle_list.curvalue);
	// NeVo - giant f*****g hack
	if (ui_fogenabled->value)
	{
		Cvar_SetValue ("r_skyfog", 1.0);
		Cvar_SetValue ("r_waterfog", 1.0);
	}
	else
	{
		Cvar_SetValue ("r_skyfog", 0.0);
		Cvar_SetValue ("r_waterfog", 0.0);
	}
	Cvar_SetValue ("r_overbrightbits", s_overbrights_list.curvalue*2.0);
	Cvar_SetValue ("cl_thirdPerson", s_cameramode_list[s_current_menu_index].curvalue);

	switch ( s_ref_list[s_current_menu_index].curvalue )
	{
	case REF_SOFT:
		Cvar_Set( "vid_ref", "soft" );
		break;
	case REF_OPENGL:
		Cvar_Set( "vid_ref", "gl" );
		Cvar_Set( "gl_driver", "opengl32" );
		break;
	case REF_3DFX:
		Cvar_Set( "vid_ref", "gl" );
		Cvar_Set( "gl_driver", "3dfxgl" );
		break;
	case REF_POWERVR:
		Cvar_Set( "vid_ref", "gl" );
		Cvar_Set( "gl_driver", "pvrgl" );
		break;
	case REF_VERITE:
		Cvar_Set( "vid_ref", "gl" );
		Cvar_Set( "gl_driver", "veritegl" );
		break;
	case REF_D3D9:		// NeVo
		Cvar_Set( "vid_ref", "d3d9" );
		break;
	default:			// NeVo - default to software
		Cvar_Set( "vid_ref", "soft" );
		break;
	}

	/*
	** update appropriate stuff if we're running OpenGL and gamma
	** has been modified
	*/
	if ( stricmp( vid_ref->string, "gl" ) == 0 )
	{
		if ( vid_gamma->modified )
		{
			vid_ref->modified = 1;
			if ( stricmp( gl_driver->string, "3dfxgl" ) == 0 )
			{
				char envbuffer[1024];
				float g;

				vid_ref->modified = 1;

				g = 2.00 * ( 0.8 - ( vid_gamma->value - 0.5 ) ) + 1.0F;
				Com_sprintf( envbuffer, sizeof(envbuffer), "SSTV2_GAMMA=%f", g );
				putenv( envbuffer );
				Com_sprintf( envbuffer, sizeof(envbuffer), "SST_GAMMA=%f", g );
				putenv( envbuffer );

				vid_gamma->modified = 0;
			}
		}

		if ( gl_driver->modified )
			vid_ref->modified = 1;
	}

	//M_ForceMenuOff();
	VID_MenuInit();
}