コード例 #1
0
/*
===============
UI_DisplayOptionsMenu_Init
===============
*/
static void UI_DisplayOptionsMenu_Init( void ) {
	int		y;

	memset( &displayOptionsInfo, 0, sizeof(displayOptionsInfo) );

	UI_DisplayOptionsMenu_Cache();
	displayOptionsInfo.menu.wrapAround = qtrue;
	displayOptionsInfo.menu.fullscreen = qtrue;

	displayOptionsInfo.banner.generic.type		= MTYPE_BTEXT;
	displayOptionsInfo.banner.generic.flags		= QMF_CENTER_JUSTIFY;
	displayOptionsInfo.banner.generic.x			= 320;
	displayOptionsInfo.banner.generic.y			= 16;
	displayOptionsInfo.banner.string			= "SYSTEM SETUP";
	displayOptionsInfo.banner.color				= color_white;
	displayOptionsInfo.banner.style				= UI_CENTER;

	displayOptionsInfo.framel.generic.type		= MTYPE_BITMAP;
	displayOptionsInfo.framel.generic.name		= ART_FRAMEL;
	displayOptionsInfo.framel.generic.flags		= QMF_INACTIVE;
	displayOptionsInfo.framel.generic.x			= 0;  
	displayOptionsInfo.framel.generic.y			= 78;
	displayOptionsInfo.framel.width				= 256;
	displayOptionsInfo.framel.height			= 329;

	displayOptionsInfo.framer.generic.type		= MTYPE_BITMAP;
	displayOptionsInfo.framer.generic.name		= ART_FRAMER;
	displayOptionsInfo.framer.generic.flags		= QMF_INACTIVE;
	displayOptionsInfo.framer.generic.x			= 376;
	displayOptionsInfo.framer.generic.y			= 76;
	displayOptionsInfo.framer.width				= 256;
	displayOptionsInfo.framer.height			= 334;

	displayOptionsInfo.graphics.generic.type		= MTYPE_PTEXT;
	displayOptionsInfo.graphics.generic.flags		= QMF_RIGHT_JUSTIFY|QMF_PULSEIFFOCUS;
	displayOptionsInfo.graphics.generic.id			= ID_GRAPHICS;
	displayOptionsInfo.graphics.generic.callback	= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.graphics.generic.x			= 216;
	displayOptionsInfo.graphics.generic.y			= 240 - 2 * PROP_HEIGHT;
	displayOptionsInfo.graphics.string				= "GRAPHICS";
	displayOptionsInfo.graphics.style				= UI_RIGHT;
	displayOptionsInfo.graphics.color				= color_red;

	displayOptionsInfo.display.generic.type			= MTYPE_PTEXT;
	displayOptionsInfo.display.generic.flags		= QMF_RIGHT_JUSTIFY;
	displayOptionsInfo.display.generic.id			= ID_DISPLAY;
	displayOptionsInfo.display.generic.callback		= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.display.generic.x			= 216;
	displayOptionsInfo.display.generic.y			= 240 - PROP_HEIGHT;
	displayOptionsInfo.display.string				= "DISPLAY";
	displayOptionsInfo.display.style				= UI_RIGHT;
	displayOptionsInfo.display.color				= color_red;

	displayOptionsInfo.sound.generic.type			= MTYPE_PTEXT;
	displayOptionsInfo.sound.generic.flags			= QMF_RIGHT_JUSTIFY|QMF_PULSEIFFOCUS;
	displayOptionsInfo.sound.generic.id				= ID_SOUND;
	displayOptionsInfo.sound.generic.callback		= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.sound.generic.x				= 216;
	displayOptionsInfo.sound.generic.y				= 240;
	displayOptionsInfo.sound.string					= "SOUND";
	displayOptionsInfo.sound.style					= UI_RIGHT;
	displayOptionsInfo.sound.color					= color_red;

	displayOptionsInfo.network.generic.type			= MTYPE_PTEXT;
	displayOptionsInfo.network.generic.flags		= QMF_RIGHT_JUSTIFY|QMF_PULSEIFFOCUS;
	displayOptionsInfo.network.generic.id			= ID_NETWORK;
	displayOptionsInfo.network.generic.callback		= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.network.generic.x			= 216;
	displayOptionsInfo.network.generic.y			= 240 + PROP_HEIGHT;
	displayOptionsInfo.network.string				= "NETWORK";
	displayOptionsInfo.network.style				= UI_RIGHT;
	displayOptionsInfo.network.color				= color_red;

	y = 240 - 1 * (BIGCHAR_HEIGHT+2);
	displayOptionsInfo.brightness.generic.type		= MTYPE_SLIDER;
	displayOptionsInfo.brightness.generic.name		= "Brightness:";
	displayOptionsInfo.brightness.generic.flags		= QMF_PULSEIFFOCUS|QMF_SMALLFONT;
	displayOptionsInfo.brightness.generic.callback	= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.brightness.generic.id		= ID_BRIGHTNESS;
	displayOptionsInfo.brightness.generic.x			= 400;
	displayOptionsInfo.brightness.generic.y			= y;
	displayOptionsInfo.brightness.minvalue			= 5;
	displayOptionsInfo.brightness.maxvalue			= 20;
	if( !uis.glconfig.deviceSupportsGamma ) {
		displayOptionsInfo.brightness.generic.flags |= QMF_GRAYED;
	}

	y += BIGCHAR_HEIGHT+2;
	displayOptionsInfo.screensize.generic.type		= MTYPE_SLIDER;
	displayOptionsInfo.screensize.generic.name		= "Screen Size:";
	displayOptionsInfo.screensize.generic.flags		= QMF_PULSEIFFOCUS|QMF_SMALLFONT;
	displayOptionsInfo.screensize.generic.callback	= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.screensize.generic.id		= ID_SCREENSIZE;
	displayOptionsInfo.screensize.generic.x			= 400;
	displayOptionsInfo.screensize.generic.y			= y;
	displayOptionsInfo.screensize.minvalue			= 3;
    displayOptionsInfo.screensize.maxvalue			= 10;

	displayOptionsInfo.back.generic.type		= MTYPE_BITMAP;
	displayOptionsInfo.back.generic.name		= ART_BACK0;
	displayOptionsInfo.back.generic.flags		= QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;
	displayOptionsInfo.back.generic.callback	= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.back.generic.id			= ID_BACK;
	displayOptionsInfo.back.generic.x			= 0;
	displayOptionsInfo.back.generic.y			= 480-64;
	displayOptionsInfo.back.width				= 128;
	displayOptionsInfo.back.height				= 64;
	displayOptionsInfo.back.focuspic			= ART_BACK1;

	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.banner );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.framel );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.framer );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.graphics );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.display );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.sound );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.network );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.brightness );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.screensize );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.back );

	displayOptionsInfo.brightness.curvalue  = trap_Cvar_VariableValue("r_gamma") * 10;
	displayOptionsInfo.screensize.curvalue  = trap_Cvar_VariableValue( "cg_viewsize")/10;
}
コード例 #2
0
/*
===============
UI_DisplayOptionsMenu_Init
===============
*/
static void UI_DisplayOptionsMenu_Init( void ) {
	int		y;

	memset( &displayOptionsInfo, 0, sizeof(displayOptionsInfo) );

	UI_DisplayOptionsMenu_Cache();
	displayOptionsInfo.menu.wrapAround = qtrue;
	displayOptionsInfo.menu.fullscreen = qtrue;

	displayOptionsInfo.menu.bgparts		= BGP_SYSTEMBG|BGP_SIMPLEBG;

	displayOptionsInfo.graphics.generic.type	= MTYPE_BITMAP;
	displayOptionsInfo.graphics.generic.name	= GRAPHICS0;
	displayOptionsInfo.graphics.generic.flags	= QMF_LEFT_JUSTIFY|QMF_HIGHLIGHT_IF_FOCUS;
	displayOptionsInfo.graphics.generic.callback= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.graphics.generic.id		= ID_GRAPHICS;
	displayOptionsInfo.graphics.generic.x		= 26;
	displayOptionsInfo.graphics.generic.y		= 37;
	displayOptionsInfo.graphics.width			= 130;
	displayOptionsInfo.graphics.height			= 40;
	displayOptionsInfo.graphics.focuspic		= GRASHICS1;
	displayOptionsInfo.graphics.focuspicinstead	= qtrue;

	displayOptionsInfo.display.generic.type		= MTYPE_BITMAP;
	displayOptionsInfo.display.generic.name		= DISPLAY0;
	displayOptionsInfo.display.generic.flags	= QMF_LEFT_JUSTIFY|QMF_HIGHLIGHT_IF_FOCUS;
	displayOptionsInfo.display.generic.callback	= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.display.generic.id		= ID_DISPLAY;
	displayOptionsInfo.display.generic.x		= 159;
	displayOptionsInfo.display.generic.y		= 30;
	displayOptionsInfo.display.width			= 122;
	displayOptionsInfo.display.height			= 40;
	displayOptionsInfo.display.focuspic			= DISPLAY1;
	displayOptionsInfo.display.focuspicinstead	= qtrue;

	displayOptionsInfo.sound.generic.type		= MTYPE_BITMAP;
	displayOptionsInfo.sound.generic.name		= SOUND0;
	displayOptionsInfo.sound.generic.flags		= QMF_LEFT_JUSTIFY|QMF_HIGHLIGHT_IF_FOCUS;
	displayOptionsInfo.sound.generic.callback	= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.sound.generic.id			= ID_SOUND;
	displayOptionsInfo.sound.generic.x			= 40;
	displayOptionsInfo.sound.generic.y			= 77;
	displayOptionsInfo.sound.width				= 130;
	displayOptionsInfo.sound.height				= 40;
	displayOptionsInfo.sound.focuspic			= SOUND1;
	displayOptionsInfo.sound.focuspicinstead		= qtrue;

	displayOptionsInfo.network.generic.type		= MTYPE_BITMAP;
	displayOptionsInfo.network.generic.name		= NETWORK0;
	displayOptionsInfo.network.generic.flags	= QMF_LEFT_JUSTIFY|QMF_HIGHLIGHT_IF_FOCUS;
	displayOptionsInfo.network.generic.callback	= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.network.generic.id		= ID_NETWORK;
	displayOptionsInfo.network.generic.x		= 170;
	displayOptionsInfo.network.generic.y		= 80;
	displayOptionsInfo.network.width			= 100;
	displayOptionsInfo.network.height			= 45;
	displayOptionsInfo.network.focuspic			= NETWORK1;
	displayOptionsInfo.network.focuspicinstead	= qtrue;

	y = 230;
	displayOptionsInfo.ignoreHWG.generic.type		= MTYPE_RADIOBUTTON;
	displayOptionsInfo.ignoreHWG.generic.name		= "Ignore HW-Gamma:";
	displayOptionsInfo.ignoreHWG.generic.flags		= QMF_SMALLFONT;
	displayOptionsInfo.ignoreHWG.generic.callback	= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.ignoreHWG.generic.id			= ID_IGNOREHWG;
	displayOptionsInfo.ignoreHWG.generic.x			= 175;
	displayOptionsInfo.ignoreHWG.generic.y			= y;
	displayOptionsInfo.ignoreHWG.curvalue			= UI_GetCvarInt("r_ignorehwgamma");
	displayOptionsInfo.ignoreHWG.generic.toolTip	= "If enabled you won't be able to adjust the brightness in game and will be locked and controlled by your current graphics card and monitor options. It is recommended to leave it off so you can adjust the brightness via the slider if necessary.";

	y += BIGCHAR_HEIGHT+2;
	displayOptionsInfo.brightness.generic.type		= MTYPE_SLIDER;
	displayOptionsInfo.brightness.generic.name		= "Brightness:";
	displayOptionsInfo.brightness.generic.flags		= QMF_SMALLFONT;
	displayOptionsInfo.brightness.generic.callback	= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.brightness.generic.id		= ID_BRIGHTNESS;
	displayOptionsInfo.brightness.generic.x			= 175;
	displayOptionsInfo.brightness.generic.y			= y;
	displayOptionsInfo.brightness.minvalue			= 5;
	displayOptionsInfo.brightness.maxvalue			= 20;
	if( !uis.glconfig.deviceSupportsGamma )
		displayOptionsInfo.brightness.generic.flags |= QMF_GRAYED;

	y += ( 2 * BIGCHAR_HEIGHT + 2 );
	displayOptionsInfo.anaglyph.generic.type		= MTYPE_SPINCONTROL;
	displayOptionsInfo.anaglyph.generic.name		= "Stereoscopic 3D:";
	displayOptionsInfo.anaglyph.generic.flags		= QMF_SMALLFONT;
	displayOptionsInfo.anaglyph.generic.callback	= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.anaglyph.generic.id			= ID_ANAGLYPH;
	displayOptionsInfo.anaglyph.generic.x			= 175;
	displayOptionsInfo.anaglyph.generic.y			= y;
	displayOptionsInfo.anaglyph.itemnames			= anaglyph_names;
	displayOptionsInfo.anaglyph.generic.toolTip		= "Switch on to play in 3D with the appriopriate glasses. Ensure the correct filter option you select matches that of your glasses or the effect won't work at all.";

	y += ( BIGCHAR_HEIGHT + 2 );
	displayOptionsInfo.greyscale.generic.type		= MTYPE_SLIDER;
	displayOptionsInfo.greyscale.generic.name		= "Greyscale:";
	displayOptionsInfo.greyscale.generic.flags		= QMF_SMALLFONT;
	displayOptionsInfo.greyscale.generic.callback	= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.greyscale.generic.id			= ID_GREYSCALE;
	displayOptionsInfo.greyscale.generic.x			= 175;
	displayOptionsInfo.greyscale.generic.y			= y;
	displayOptionsInfo.greyscale.minvalue			= 0;
	displayOptionsInfo.greyscale.maxvalue			= 100;

	displayOptionsInfo.apply.generic.type     = MTYPE_BITMAP;
	displayOptionsInfo.apply.generic.name     = ACCEPT0;
	displayOptionsInfo.apply.generic.flags    = QMF_PULSEIFFOCUS|QMF_HIDDEN|QMF_INACTIVE;
	displayOptionsInfo.apply.generic.callback = ApplyPressed;
	displayOptionsInfo.apply.generic.x        = 516;
	displayOptionsInfo.apply.generic.y        = 405;
	displayOptionsInfo.apply.width				= 102;
	displayOptionsInfo.apply.height  			= 61;
	displayOptionsInfo.apply.focuspic			= ACCEPT1;


	displayOptionsInfo.back.generic.type	= MTYPE_BITMAP;
	displayOptionsInfo.back.generic.name    = BACK0;
	displayOptionsInfo.back.generic.flags	= QMF_LEFT_JUSTIFY|QMF_PULSEIFFOCUS;
	displayOptionsInfo.back.generic.callback= UI_DisplayOptionsMenu_Event;
	displayOptionsInfo.back.generic.id	    = ID_BACK;
	displayOptionsInfo.back.generic.x		= 9;
	displayOptionsInfo.back.generic.y		= 440;
	displayOptionsInfo.back.width  		    = 80;
	displayOptionsInfo.back.height  	    = 40;
	displayOptionsInfo.back.focuspic        = BACK1;
	displayOptionsInfo.back.focuspicinstead	= qtrue;

	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.graphics );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.display );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.sound );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.network );
	Menu_AddItem( &displayOptionsInfo.menu, &displayOptionsInfo.ignoreHWG );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.brightness );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.anaglyph );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.greyscale );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.apply );
	Menu_AddItem( &displayOptionsInfo.menu, ( void * ) &displayOptionsInfo.back );

	displayOptionsInfo.brightness.curvalue  = trap_Cvar_VariableValue("r_gamma") * 10;
	displayOptionsInfo.anaglyph.curvalue	= Com_Clamp( 0, ( ARRAY_LEN( anaglyph_names ) - 1 ), trap_Cvar_VariableValue( "r_anaglyphMode" ) );
	displayOptionsInfo.greyscale.curvalue  = Com_Clamp( 0, 100, ( trap_Cvar_VariableValue( "r_greyscale" ) * 100 ) );

	if ( !displayOptionsInfo.anaglyph.curvalue ) {
		displayOptionsInfo.greyscale.generic.flags |= QMF_GRAYED;
	}
}