/* =============== 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; }
/* =============== 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; } }