您当前的位置:首页 > IT编程 > C++
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:C++ Cvar_SetValue函数代码示例

51自学网 2021-06-01 20:16:39
  C++
这篇教程C++ Cvar_SetValue函数代码示例写得很实用,希望能帮到您。

本文整理汇总了C++中Cvar_SetValue函数的典型用法代码示例。如果您正苦于以下问题:C++ Cvar_SetValue函数的具体用法?C++ Cvar_SetValue怎么用?C++ Cvar_SetValue使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。

在下文中一共展示了Cvar_SetValue函数的29个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。

示例1: CL_UISystemCalls

/*====================CL_UISystemCallsThe ui module is making a system call====================*/int CL_UISystemCalls( int *args ) {	switch( args[0] ) {	case UI_ERROR:		Com_Error( ERR_DROP, "%s", VMA(1) );		return 0;	case UI_PRINT:		Com_Printf( "%s", VMA(1) );		return 0;	case UI_MILLISECONDS:		return Sys_Milliseconds();	case UI_CVAR_REGISTER:		Cvar_Register( VMA(1), VMA(2), VMA(3), args[4] ); 		return 0;	case UI_CVAR_UPDATE:		Cvar_Update( VMA(1) );		return 0;	case UI_CVAR_SET:		Cvar_Set( VMA(1), VMA(2) );		return 0;	case UI_CVAR_VARIABLEVALUE:		return FloatAsInt( Cvar_VariableValue( VMA(1) ) );	case UI_CVAR_VARIABLESTRINGBUFFER:		Cvar_VariableStringBuffer( VMA(1), VMA(2), args[3] );		return 0;	case UI_CVAR_SETVALUE:		Cvar_SetValue( VMA(1), VMF(2) );		return 0;	case UI_CVAR_RESET:		Cvar_Reset( VMA(1) );		return 0;	case UI_CVAR_CREATE:		Cvar_Get( VMA(1), VMA(2), args[3] );		return 0;	case UI_CVAR_INFOSTRINGBUFFER:		Cvar_InfoStringBuffer( args[1], VMA(2), args[3] );		return 0;	case UI_ARGC:		return Cmd_Argc();	case UI_ARGV:		Cmd_ArgvBuffer( args[1], VMA(2), args[3] );		return 0;	case UI_CMD_EXECUTETEXT:		Cbuf_ExecuteText( args[1], VMA(2) );		return 0;	case UI_FS_FOPENFILE:		return FS_FOpenFileByMode( VMA(1), VMA(2), args[3] );	case UI_FS_READ:		FS_Read2( VMA(1), args[2], args[3] );		return 0;	case UI_FS_WRITE:		FS_Write( VMA(1), args[2], args[3] );		return 0;	case UI_FS_FCLOSEFILE:		FS_FCloseFile( args[1] );		return 0;	case UI_FS_GETFILELIST:		return FS_GetFileList( VMA(1), VMA(2), VMA(3), args[4] );	case UI_FS_SEEK:		return FS_Seek( args[1], args[2], args[3] );		case UI_R_REGISTERMODEL:		return re.RegisterModel( VMA(1) );	case UI_R_REGISTERSKIN:		return re.RegisterSkin( VMA(1) );	case UI_R_REGISTERSHADERNOMIP:		return re.RegisterShaderNoMip( VMA(1) );	case UI_R_CLEARSCENE:		re.ClearScene();		return 0;//.........这里部分代码省略.........
开发者ID:DaveHogan,项目名称:FQuake3,代码行数:101,


示例2: MainWndProc

//.........这里部分代码省略.........		{			int	fActive, fMinimized;			// KJB: Watch this for problems in fullscreen modes with Alt-tabbing.			fActive = LOWORD(wParam);			fMinimized = (BOOL) HIWORD(wParam);			AppActivate( fActive != WA_INACTIVE, fMinimized);			if ( reflib_active )				re.AppActivate( !( fActive == WA_INACTIVE ) );		}        return DefWindowProc (hWnd, uMsg, wParam, lParam);	case WM_MOVE:		{			int		xPos, yPos;			RECT r;			int		style;			if (!vid_fullscreen->value)			{				xPos = (short) LOWORD(lParam);    // horizontal position 				yPos = (short) HIWORD(lParam);    // vertical position 				r.left   = 0;				r.top    = 0;				r.right  = 1;				r.bottom = 1;				style = GetWindowLong( hWnd, GWL_STYLE );				AdjustWindowRect( &r, style, FALSE );				Cvar_SetValue( "vid_xpos", xPos + r.left);				Cvar_SetValue( "vid_ypos", yPos + r.top);				vid_xpos->modified = false;				vid_ypos->modified = false;				if (ActiveApp)					IN_Activate (true);			}		}        return DefWindowProc (hWnd, uMsg, wParam, lParam);// this is complicated because Win32 seems to pack multiple mouse events into// one update sometimes, so we always check all states and look for events	case WM_LBUTTONDOWN:	case WM_LBUTTONUP:	case WM_RBUTTONDOWN:	case WM_RBUTTONUP:	case WM_MBUTTONDOWN:	case WM_MBUTTONUP:	case WM_MOUSEMOVE:		{			int	temp;			temp = 0;			if (wParam & MK_LBUTTON)				temp |= 1;			if (wParam & MK_RBUTTON)				temp |= 2;			if (wParam & MK_MBUTTON)				temp |= 4;
开发者ID:qbism,项目名称:Quake2-colored-refsoft,代码行数:66,


示例3: SCR_SizeUp_f

/* * Keybinding command */voidSCR_SizeUp_f(void){	Cvar_SetValue("viewsize", (float)scr_viewsize->value + 10);}
开发者ID:smcv,项目名称:yquake2,代码行数:8,


示例4: AC_UpdateMenu

/** * @brief Updates the alienscont menu. */static void AC_UpdateMenu (const base_t *base){	Cvar_Set("mn_al_alientype", "");	Cvar_Set("mn_al_alienimage", "");	Cvar_SetValue("mn_al_dead", 0);	Cvar_SetValue("mn_al_alive", 0);	Cvar_SetValue("mn_al_capacity", CAP_GetCurrent(base, CAP_ALIENS));	Cvar_SetValue("mn_al_capacity_max", CAP_GetMax(base, CAP_ALIENS));	/* Reset list. */	cgi->UI_ExecuteConfunc("aliencont_clear");	if (B_GetBuildingStatus(base, B_ALIEN_CONTAINMENT)) {		const aliensCont_t *containment = base->alienscont;		int i, j;		for (i = 0, j = 0; i < ccs.numAliensTD; i++) {			if (j < MAX_AC_MENU_ENTRIES) {				if (containment[i].teamDef) {					const technology_t *tech = containment[i].tech;					if (!tech) {						Com_Printf("AC_UpdateMenu: Tech entry for containment %i not set!/n", i);						/* to let the click function still work */						continue;					}					if (!aliencontCurrent) {						aliencontCurrent = &containment[i];					}					if (containment[i].amountAlive > 0 || containment[i].amountDead > 0) {						/* Generate a list entry. */						if (RS_IsResearched_ptr(tech)) {							Cvar_Set(va("mn_ac_statusstr%i", j), _("Researched"));						} else {							Cvar_Set(va("mn_ac_statusstr%i", j), _("Awaiting autopsy"));							if (!containment[i].amountDead) {								cgi->UI_ExecuteConfunc("aliencontkill %i", j);							} else {								cgi->UI_ExecuteConfunc("aliencontneedautopsy %i", j);							}						}						Cvar_SetValue(va("mn_ac_progress%i", j), (1 - tech->time / tech->overallTime) * 100);						/* Display name in the correct list-entry. */						Cvar_Set(va("mn_ac_name%i", j), _(containment[i].teamDef->name));						/* Display amount of dead aliens in the correct list-entry. */						Cvar_SetValue(va("mn_ac_dead%i", j), containment[i].amountDead);						/* Display number of live aliens in the correct list-entry. */						Cvar_SetValue(va("mn_ac_alive%i", j), containment[i].amountAlive);						j++;					}				}			}		}		numAliensOnList = j;		for (; j < MAX_AC_MENU_ENTRIES; j++) {			Cvar_Set(va("mn_ac_statusstr%i", j), _("Free slot"));			Cvar_Set(va("mn_ac_name%i", j), _("None"));			Cvar_Set(va("mn_ac_dead%i", j), "");			Cvar_Set(va("mn_ac_alive%i", j), "");			Cvar_SetValue(va("mn_ac_progress%i", j), 0);		}	}	/** @todo Select the containment we (maybe) just clicked again */	AC_AlienClick(base, 0);}
开发者ID:MyWifeRules,项目名称:ufoai-1,代码行数:69,


示例5: SCR_SizeDown_f

/*=================SCR_SizeDown_fKeybinding command=================*/voidSCR_SizeDown_f(void){    Cvar_SetValue("viewsize", scr_viewsize.value - 10);    vid.recalc_refdef = 1;}
开发者ID:AidHamza,项目名称:eviltoys,代码行数:13,


示例6: Key_Event

/*===================Key_EventCalled by the system between frames for both key up and key down eventsShould NOT be called during an interrupt!===================*/void Key_Event (int key, qboolean down, uint32 time){	char		*kb;	char		cmd[1024];	// hack for modal presses	/*if (key_waiting == -1)	{		if (down)			key_waiting = key;		return;		}*/	//Com_Printf ("%d is %d for %u/n", LOG_GENERAL, key, down, time);	// update auto-repeat status	if (down)	{		key_repeats[key]++;		if (cls.key_dest != key_console && key != K_BACKSPACE && key != K_DEL && key != K_LEFTARROW && key != K_RIGHTARROW			&& key != K_PAUSE 			&& key != K_PGUP 			&& key != K_KP_PGUP 			&& key != K_PGDN			&& key != K_KP_PGDN			&& key_repeats[key] > 1)			return;	// ignore most autorepeats					if (key >= 200 && !keybindings[key])			Com_Printf ("%s is unbound, hit F4 to set./n", LOG_CLIENT, Key_KeynumToString (key) );	}	else	{		key_repeats[key] = 0;	}	//for dinput	if (down && keydown[K_ALT])	{		if (key == K_ENTER)		{			Com_Printf ("ALT+Enter, setting fullscreen %d./n", LOG_CLIENT, !vid_fullscreen->intvalue);			Cvar_SetValue( "vid_fullscreen", (float)!vid_fullscreen->intvalue );			return;		}		else if (key == K_TAB)		{			//prevent executing action on alt+tab			return;		}	}	if (key == K_SHIFT)		shift_down = down;	// console key is hardcoded, so the user can never unbind it	if ((key == '`' || key == '~') && !shift_down)	{		if (!down)			return;		Con_ToggleConsole_f ();		return;	}	// any key during the attract mode will bring up the menu	/*if (cl.attractloop && cls.key_dest != key_menu &&		!(key >= K_F1 && key <= K_F12))		key = K_ESCAPE;*/	// menu key is hardcoded, so the user can never unbind it	if (key == K_ESCAPE)	{		if (!down)			return;		if (cl.frame.playerstate.stats[STAT_LAYOUTS] && cls.key_dest == key_game)		{	// put away help computer / inventory			Cbuf_AddText ("cmd putaway/n");			return;		}		switch (cls.key_dest)		{		case key_message:			Key_Message (key);			break;		case key_menu:			M_Keydown (key);			break;		case key_game:		case key_console:			M_Menu_Main_f ();			break;//.........这里部分代码省略.........
开发者ID:Slipyx,项目名称:r1q2,代码行数:101,


示例7: IN_ProcessEvents

//.........这里部分代码省略.........					if( e.jaxis.which == JOY_SDL_GYROSCOPE && e.jaxis.axis >= 5 && e.jaxis.axis <= 7 ) // joy 1 axes 5-7 = accelerometer						Com_QueueEvent( 0, SE_ACCELEROMETER, e.jaxis.axis - 5, e.jaxis.value, 0, NULL );					if( e.jaxis.which == JOY_SDL_GAMEPAD && e.jaxis.axis < 6 ) // joy 2-5 = gamepad					{						Com_QueueEvent( 0, SE_JOYSTICK_AXIS, e.jaxis.axis + JOY_AXIS_GAMEPADLEFT_X, e.jaxis.value, 0, NULL );						if ( !hideScreenKeys && e.jaxis.axis == JOY_AXIS_GAMEPADRIGHT_X - JOY_AXIS_GAMEPADLEFT_X && abs(e.jaxis.value) > 20000 )						{							hideScreenKeys = qtrue;							#ifdef __ANDROID__							SDL_Rect rect;							rect.x = rect.y = rect.w = rect.h = 0;							SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_DPAD, &rect);							SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_0, &rect);							SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_1, &rect);							SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_2, &rect);							SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_3, &rect);							SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_4, &rect);							SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_5, &rect);							// Do not hide text input, we don't have gamepad key to invoke it							rect.w = rect.h = cls.glconfig.vidHeight / 10;							rect.x = rect.y = 0;							SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_TEXT, &rect);							#endif						}					}				}				break;			case SDL_JOYBUTTONDOWN: // Android multitouch			case SDL_JOYBUTTONUP:				{					if( e.jbutton.which == JOY_SDL_TOUCHSCREEN && e.jbutton.button < MAX_POINTERS )					{						touchPointers[e.jbutton.button].pressed = (e.jbutton.state == SDL_PRESSED);						IN_ProcessTouchPoints();					}				}				break;			case SDL_JOYBALLMOTION: // Android multitouch				{					if( e.jaxis.which == JOY_SDL_TOUCHSCREEN && e.jball.ball < MAX_POINTERS )					{						int i;						touchPointers[e.jball.ball].x = e.jball.xrel;						touchPointers[e.jball.ball].y = e.jball.yrel;						if (cl_runningOnOuya->integer)						{							touchPointers[e.jball.ball].x = touchPointers[e.jball.ball].x * cls.glconfig.vidWidth / (cls.glconfig.vidWidth - cls.glconfig.vidWidth * OUYA_BORDER / 100 * 3 / 2) - cls.glconfig.vidWidth * OUYA_BORDER / 100;							touchPointers[e.jball.ball].y = touchPointers[e.jball.ball].y * cls.glconfig.vidHeight / (cls.glconfig.vidHeight - cls.glconfig.vidHeight * OUYA_BORDER / 100 * 3 / 2) - cls.glconfig.vidHeight * OUYA_BORDER / 100;						}						if( e.jball.ball == filteredTouch[0].idx )							Com_QueueEvent( 0, SE_MOUSE, touchPointers[e.jball.ball].x, touchPointers[e.jball.ball].y, 0, NULL );						if( e.jball.ball == filteredTouch[1].idx )							Com_QueueEvent( 0, SE_MOUSE2, touchPointers[e.jball.ball].x, touchPointers[e.jball.ball].y, 0, NULL );					}				}				break;						case SDL_QUIT:				Cbuf_ExecuteText(EXEC_NOW, "quit Closed window/n");				break;			case SDL_VIDEORESIZE:			{				char width[32], height[32];				Com_sprintf( width, sizeof(width), "%d", e.resize.w );				Com_sprintf( height, sizeof(height), "%d", e.resize.h );				Cvar_Set( "r_customwidth", width );				Cvar_Set( "r_customheight", height );				Cvar_Set( "r_mode", "-1" );				/* wait until user stops dragging for 1 second, so				   we aren't constantly recreating the GL context while				   he tries to drag...*/				vidRestartTime = Sys_Milliseconds() + 1000;#ifdef __ANDROID__				vidRestartTime = Sys_Milliseconds();#endif			}			break;			case SDL_ACTIVEEVENT:				if (e.active.state & SDL_APPINPUTFOCUS) {					Cvar_SetValue( "com_unfocused",	!e.active.gain);				}				if (e.active.state & SDL_APPACTIVE) {					Cvar_SetValue( "com_minimized", !e.active.gain);				}				break;			default:				break;		}	}	if( deferredTouch > 0 )	{		deferredTouch --;		if( !deferredTouch )			Com_QueueEvent( 0, SE_KEY, K_MOUSE1, qtrue, 0, NULL );	}}
开发者ID:MrLoick,项目名称:openarena-engine,代码行数:101,


示例8: IN_HandleEvents

static void IN_HandleEvents( void ){	Uint16 *wtext = NULL;	SDL_PumpEvents();	SDL_Event event;	while( SDL_PollEvent( &event ) ) {		switch( event.type ) {			case SDL_KEYDOWN:				key_event( &event.key, true );				// Emulate copy/paste				#if defined( __APPLE__ )					#define KEYBOARD_COPY_PASTE_MODIFIER KMOD_GUI				#else					#define KEYBOARD_COPY_PASTE_MODIFIER KMOD_CTRL				#endif								if( event.key.keysym.sym == SDLK_c ) {					if( event.key.keysym.mod & KEYBOARD_COPY_PASTE_MODIFIER ) {						Key_CharEvent( KC_CTRLC, KC_CTRLC );					}				}				else if( event.key.keysym.sym == SDLK_v ) {					if( event.key.keysym.mod & KEYBOARD_COPY_PASTE_MODIFIER ) {						Key_CharEvent( KC_CTRLV, KC_CTRLV );					}				}				break;			case SDL_KEYUP:				key_event( &event.key, false );				break;			case SDL_TEXTINPUT:				// SDL_iconv_utf8_ucs2 uses "UCS-2-INTERNAL" as tocode and fails to convert text on Linux				// where SDL_iconv uses system iconv. So we force needed encoding directly				#if SDL_BYTEORDER == SDL_LIL_ENDIAN					#define UCS_2_INTERNAL "UCS-2LE"				#else					#define UCS_2_INTERNAL "UCS-2BE"				#endif				wtext = (Uint16 *)SDL_iconv_string( UCS_2_INTERNAL, "UTF-8", event.text.text, SDL_strlen( event.text.text ) + 1 );				if( wtext ) {					wchar_t charkey = wtext[0];					int key = ( charkey <= 255 ) ? charkey : 0;					Key_CharEvent( key, charkey );					SDL_free( wtext );				}				break;			case SDL_MOUSEMOTION:				mouse_motion_event( &event.motion );				break;			case SDL_MOUSEBUTTONDOWN:				mouse_button_event( &event.button, true );				break;			case SDL_MOUSEBUTTONUP:				mouse_button_event( &event.button, false );				break;			case SDL_MOUSEWHEEL:				mouse_wheel_event( &event.wheel );				break;			case SDL_QUIT:				Cbuf_ExecuteText( EXEC_NOW, "quit" );				break;			case SDL_WINDOWEVENT:				switch( event.window.event ) {					case SDL_WINDOWEVENT_SHOWN:						AppActivate( true );						break;					case SDL_WINDOWEVENT_HIDDEN:						AppActivate( false );						break;					case SDL_WINDOWEVENT_CLOSE:						break;					case SDL_WINDOWEVENT_FOCUS_GAINED:						input_focus = true;						break;					case SDL_WINDOWEVENT_FOCUS_LOST:						input_focus = false;						break;					case SDL_WINDOWEVENT_MOVED:						// FIXME: move this somewhere else						Cvar_SetValue( "vid_xpos", event.window.data1 );						Cvar_SetValue( "vid_ypos", event.window.data2 );						vid_xpos->modified = false;						vid_ypos->modified = false;						break;				}				break;		}//.........这里部分代码省略.........
开发者ID:Clever-Boy,项目名称:qfusion,代码行数:101,


示例9: ApplyChanges

static voidApplyChanges(void *unused){	qboolean restart = false;	/* custom mode */	if (s_mode_list.curvalue != CUSTOM_MODE)	{		/* Restarts automatically */		Cvar_SetValue("gl_mode", s_mode_list.curvalue);	}	else	{		/* Restarts automatically */		Cvar_SetValue("gl_mode", -1);	}	/* horplus */	if (s_aspect_list.curvalue == 0)	{		if (horplus->value != 1)		{			Cvar_SetValue("horplus", 1);		}	}	else	{		if (horplus->value != 0)		{			Cvar_SetValue("horplus", 0);		}	}	/* fov */	if (s_aspect_list.curvalue == 0 || s_aspect_list.curvalue == 1)	{		if (fov->value != 90)		{			/* Restarts automatically */			Cvar_SetValue("fov", 90);		}	}	else if (s_aspect_list.curvalue == 2)	{		if (fov->value != 86)		{			/* Restarts automatically */			Cvar_SetValue("fov", 86);		}	}	else if (s_aspect_list.curvalue == 3)	{		if (fov->value != 100)		{			/* Restarts automatically */			Cvar_SetValue("fov", 100);		}	}	else if (s_aspect_list.curvalue == 4)	{		if (fov->value != 106)		{			/* Restarts automatically */			Cvar_SetValue("fov", 106);		}	}	/* Restarts automatically */	Cvar_SetValue("vid_fullscreen", s_fs_box.curvalue);	/* vertical sync */	if (gl_swapinterval->value != s_vsync_list.curvalue)	{		Cvar_SetValue("gl_swapinterval", s_vsync_list.curvalue);		restart = true;	}	/* multisample anti-aliasing */	if (s_msaa_list.curvalue == 0)	{		if (gl_msaa_samples->value != 0)		{			Cvar_SetValue("gl_msaa_samples", 0);			restart = true;		}	}	else	{		if (gl_msaa_samples->value != pow(2, s_msaa_list.curvalue))		{			Cvar_SetValue("gl_msaa_samples", pow(2, s_msaa_list.curvalue));			restart = true;		}	}	if (restart)	{		Cbuf_AddText("vid_restart/n");	}//.........这里部分代码省略.........
开发者ID:Jenco420,项目名称:yquake2,代码行数:101,


示例10: SCR_CalcRefdef

/*	SCR_CalcRefdef	Must be called whenever vid changes	Internal use only*/static voidSCR_CalcRefdef (void){	vrect_t     vrect;	float       size;	int         h;	qboolean    full = false;	scr_fullupdate = 0;					// force a background redraw	vid.recalc_refdef = 0;	// force the status bar to redraw	Sbar_Changed ();//========================================	// bound viewsize	Cvar_SetValue (scr_viewsize, bound (30, scr_viewsize->int_val, 120));	// bound field of view	Cvar_SetValue (scr_fov, bound (10, scr_fov->value, 170));	if (scr_viewsize->int_val >= 120)		sb_lines = 0;					// no status bar at all	else if (scr_viewsize->int_val >= 110)		sb_lines = 24;					// no inventory	else		sb_lines = 24 + 16 + 8;	if (scr_viewsize->int_val >= 100) {		full = true;		size = 100.0;	} else {		size = scr_viewsize->int_val;	}	// intermission is always full screen	if (cl.intermission) {		full = true;		size = 100.0;		sb_lines = 0;	}	size /= 100.0;	if (!cl_sbar->int_val && full)		h = vid.height;	else		h = vid.height - sb_lines;	r_refdef.vrect.width = vid.width * size + 0.5;	if (r_refdef.vrect.width < 96) {		size = 96.0 / r_refdef.vrect.width;		r_refdef.vrect.width = 96;		// min for icons	}	r_refdef.vrect.height = vid.height * size + 0.5;	if (cl_sbar->int_val || !full) {		if (r_refdef.vrect.height > vid.height - sb_lines)			r_refdef.vrect.height = vid.height - sb_lines;	} else if (r_refdef.vrect.height > vid.height)		r_refdef.vrect.height = vid.height;	r_refdef.vrect.x = (vid.width - r_refdef.vrect.width) / 2;	if (full)		r_refdef.vrect.y = 0;	else		r_refdef.vrect.y = (h - r_refdef.vrect.height) / 2;	r_refdef.fov_x = scr_fov->int_val;	r_refdef.fov_y =		CalcFov (r_refdef.fov_x, r_refdef.vrect.width, r_refdef.vrect.height);	scr_vrect = r_refdef.vrect;	// these calculations mirror those in R_Init() for r_refdef, but take no	// account of water warping	vrect.x = 0;	vrect.y = 0;	vrect.width = vid.width;	vrect.height = vid.height;	R_SetVrect (&vrect, &scr_vrect, sb_lines);	// guard against going from one mode to another that's less than half the	// vertical resolution	if (scr_con_current > vid.height)		scr_con_current = vid.height;	// notify the refresh of the change	R_ViewChanged (&vrect, sb_lines, vid.aspect);}
开发者ID:luaman,项目名称:qforge-newtree,代码行数:95,


示例11: SCR_SizeDown_f

/*	SCR_SizeDown_f	Keybinding command*/voidSCR_SizeDown_f (void){	Cvar_SetValue (scr_viewsize, scr_viewsize->int_val - 10);	vid.recalc_refdef = 1;}
开发者ID:luaman,项目名称:qforge-newtree,代码行数:11,


示例12: CL_Frame

void CL_Frame ( int msec,float fractionMsec ) {	if ( !com_cl_running->integer ) {		return;	}	// load the ref / cgame if needed	CL_StartHunkUsers();	if ( cls.state == CA_DISCONNECTED && !( Key_GetCatcher( ) & KEYCATCH_UI )		&& !com_sv_running->integer ) {		// if disconnected, bring up the menu		if (!CL_CheckPendingCinematic())	// this avoid having the menu flash for one frame before pending cinematics		{			UI_SetActiveMenu( "mainMenu",NULL );		}	}	// if recording an avi, lock to a fixed fps	if ( cl_avidemo->integer ) {		// save the current screen		if ( cls.state == CA_ACTIVE ) {			if (cl_avidemo->integer > 0) {				Cbuf_ExecuteText( EXEC_NOW, "screenshot silent/n" );			} else {				Cbuf_ExecuteText( EXEC_NOW, "screenshot_tga silent/n" );			}		}		// fixed time for next frame		if (cl_avidemo->integer > 0) {			msec = 1000 / cl_avidemo->integer;		} else {			msec = 1000 / -cl_avidemo->integer;		}	}	// save the msec before checking pause	cls.realFrametime = msec;	// decide the simulation time	cls.frametime = msec;	if(cl_framerate->integer)	{		avgFrametime+=msec;		char mess[256];		if(!(frameCount&0x1f))		{			sprintf(mess,"Frame rate=%f/n/n",1000.0f*(1.0/(avgFrametime/32.0f)));	//		OutputDebugString(mess);			Com_Printf(mess);			avgFrametime=0.0f;		}		frameCount++;	}	cls.frametimeFraction=fractionMsec;	cls.realtime += msec;	cls.realtimeFraction+=fractionMsec;	if (cls.realtimeFraction>=1.0f)	{		if (cl_newClock&&cl_newClock->integer)		{			cls.realtime++;		}		cls.realtimeFraction-=1.0f;	}	if ( cl_timegraph->integer ) {		SCR_DebugGraph ( cls.realFrametime * 0.25, 0 );	}	// see if we need to update any userinfo	CL_CheckUserinfo();	// if we haven't gotten a packet in a long time,	// drop the connection	CL_CheckTimeout();	// send intentions now	CL_SendCmd();	// resend a connection request if necessary	CL_CheckForResend();	// decide on the serverTime to render	CL_SetCGameTime();	if (cl_pano->integer && cls.state == CA_ACTIVE) {	//grab some panoramic shots		int i = 1;		int pref = cl_pano->integer;		int oldnoprint = cl_noprint->integer;		Con_Close();		cl_noprint->integer = 1;	//hide the screen shot msgs		for (; i <= cl_panoNumShots->integer; i++) {			Cvar_SetValue( "pano", i );			SCR_UpdateScreen();// update the screen			Cbuf_ExecuteText( EXEC_NOW, va("screenshot %dpano%02d/n", pref, i) );	//grab this screen		}		Cvar_SetValue( "pano", 0 );	//done		cl_noprint->integer = oldnoprint;	}//.........这里部分代码省略.........
开发者ID:Indie-Jones,项目名称:OpenJK,代码行数:101,


示例13: IN_ProcessEvents

//.........这里部分代码省略.........						}						if( utf32 != 0 )						{							if( IN_IsConsoleKey( 0, utf32 ) )							{								Com_QueueEvent( 0, SE_KEY, K_CONSOLE, qtrue, 0, NULL );								Com_QueueEvent( 0, SE_KEY, K_CONSOLE, qfalse, 0, NULL );							}							else								Com_QueueEvent( 0, SE_CHAR, utf32, 0, 0, NULL );						}          }        }				break;			case SDL_MOUSEMOTION:				if( mouseActive )				{					if( !e.motion.xrel && !e.motion.yrel )						break;					Com_QueueEvent( 0, SE_MOUSE, e.motion.xrel, e.motion.yrel, 0, NULL );				}				break;			case SDL_MOUSEBUTTONDOWN:			case SDL_MOUSEBUTTONUP:				{					int b;					switch( e.button.button )					{						case SDL_BUTTON_LEFT:   b = K_MOUSE1;     break;						case SDL_BUTTON_MIDDLE: b = K_MOUSE3;     break;						case SDL_BUTTON_RIGHT:  b = K_MOUSE2;     break;						case SDL_BUTTON_X1:     b = K_MOUSE4;     break;						case SDL_BUTTON_X2:     b = K_MOUSE5;     break;						default:                b = K_AUX1 + ( e.button.button - SDL_BUTTON_X2 + 1 ) % 16; break;					}					Com_QueueEvent( 0, SE_KEY, b,						( e.type == SDL_MOUSEBUTTONDOWN ? qtrue : qfalse ), 0, NULL );				}				break;			case SDL_MOUSEWHEEL:				if( e.wheel.y > 0 )				{					Com_QueueEvent( 0, SE_KEY, K_MWHEELUP, qtrue, 0, NULL );					Com_QueueEvent( 0, SE_KEY, K_MWHEELUP, qfalse, 0, NULL );				}				else if( e.wheel.y < 0 )				{					Com_QueueEvent( 0, SE_KEY, K_MWHEELDOWN, qtrue, 0, NULL );					Com_QueueEvent( 0, SE_KEY, K_MWHEELDOWN, qfalse, 0, NULL );				}				break;			case SDL_QUIT:				Cbuf_ExecuteText(EXEC_NOW, "quit Closed window/n");				break;			case SDL_WINDOWEVENT:				switch( e.window.event )				{					case SDL_WINDOWEVENT_RESIZED:						{							int width, height;							width = e.window.data1;							height = e.window.data2;							// check if size actually changed							if( cls.glconfig.vidWidth == width && cls.glconfig.vidHeight == height )							{								break;							}							Cvar_SetValue( "r_customwidth", width );							Cvar_SetValue( "r_customheight", height );							Cvar_Set( "r_mode", "-1" );							// Wait until user stops dragging for 1 second, so							// we aren't constantly recreating the GL context while							// he tries to drag...							vidRestartTime = Sys_Milliseconds( ) + 1000;						}						break;					case SDL_WINDOWEVENT_MINIMIZED:    Cvar_SetValue( "com_minimized", 1 ); break;					case SDL_WINDOWEVENT_RESTORED:					case SDL_WINDOWEVENT_MAXIMIZED:    Cvar_SetValue( "com_minimized", 0 ); break;					case SDL_WINDOWEVENT_FOCUS_LOST:   Cvar_SetValue( "com_unfocused", 1 ); break;					case SDL_WINDOWEVENT_FOCUS_GAINED: Cvar_SetValue( "com_unfocused", 0 ); break;				}				break;			default:				break;		}	}}
开发者ID:xycaleth,项目名称:ioq3,代码行数:101,


示例14: Cvar_SetValue

//-----------------------------------------------------------------------------// Name: CommunicatorStatusUpdate// Desc: XHV Callback - called when the engine detects that the status of a//			communicator has changed.  May not be called if a communicator//			is quickly removed and re-inserted, but in that case there is//			nothing the game has to do.//-----------------------------------------------------------------------------HRESULT CVoiceManager::CommunicatorStatusUpdate( DWORD dwPort, XHV_VOICE_COMMUNICATOR_STATUS status ){	// If we're not initialized, then do nothing	if( !m_bInitialized )		return S_OK;	if( status == XHV_VOICE_COMMUNICATOR_STATUS_INSERTED )	{ // Got a new headset:		// Let the UI know that we have a headset, so it can enable things!		Cvar_SetValue( "ui_headset", 1 );		// Awful UI hack. If we're on the online options screen, move off any item		// that just became disabled.		menuDef_t *menu = Menu_GetFocused();		if( menu && !Q_stricmp(menu->window.name, "xbl_onlineoptions") )		{			VM_Call( uivm, UI_KEY_EVENT, A_CURSOR_DOWN, qtrue );	// Send a "move the cursor down"			// Also, if we had "Speakers" selected, switch it to "Enabled"			if( Cvar_VariableIntegerValue( "ui_voiceMode" ) == 1 )				Cvar_SetValue( "ui_voiceMode", 2 );		}		// Always re-route voice to headset		m_XHVVoiceManager.SetVoiceThroughSpeakers( FALSE );		// Don't do anything else if banned, or voice is disabled:		if( m_bVoiceDisabled ||			(logged_on && !XOnlineIsUserVoiceAllowed( XBLLoggedOnUsers[ IN_GetMainController() ].xuid.dwUserFlags ) ) )			return S_OK;		// If we're logged onto live, update our voice flag		if( logged_on )			XBL_F_SetState( XONLINE_FRIENDSTATE_FLAG_VOICE, true );		// Finally, if we're in a session, update our status and tell everyone:		if( m_bRunning )		{			xbOnlineInfo.xbPlayerList[xbOnlineInfo.localIndex].flags |= VOICE_CAN_RECV;			xbOnlineInfo.xbPlayerList[xbOnlineInfo.localIndex].flags |= VOICE_CAN_SEND;			SendVoiceInfo( VOICEINFO_HAVEVOICE, NULL );		}	}	else if( status == XHV_VOICE_COMMUNICATOR_STATUS_REMOVED )	{ // Lost a headset:		// Let the UI know that we don't have a headset, so it can disable things!		Cvar_SetValue( "ui_headset", 0 );		// Awful UI hack. If we're on the online options screen, move off any item		// that just became disabled.		menuDef_t *menu = Menu_GetFocused();		if( menu && !Q_stricmp(menu->window.name, "xbl_onlineoptions") )		{			VM_Call( uivm, UI_KEY_EVENT, A_CURSOR_UP, qtrue );		// Send a "move the cursor up"			// Also, if we had "Enabled" selected, that's no longer valid. Change ui_voiceMode:			if( Cvar_VariableIntegerValue( "ui_voiceMode" ) == 2 )				Cvar_SetValue( "ui_voiceMode", 1 );		}		// If the user pulls the headset and it was set to "speakers" or "enabled",		// then change to "speakers"		m_XHVVoiceManager.SetVoiceThroughSpeakers( !m_bVoiceDisabled );		// Don't do anything else if banned, or voice is disabled:		if( m_bVoiceDisabled ||			(logged_on && !XOnlineIsUserVoiceAllowed( XBLLoggedOnUsers[ IN_GetMainController() ].xuid.dwUserFlags ) ) )			return S_OK;		// If we're logged onto live, update our voice flag		if( logged_on )			XBL_F_SetState( XONLINE_FRIENDSTATE_FLAG_VOICE, false );		// Finally, if we're in a session, update our status and tell everyone:		if( m_bRunning )		{			xbOnlineInfo.xbPlayerList[xbOnlineInfo.localIndex].flags |= VOICE_CAN_RECV;			xbOnlineInfo.xbPlayerList[xbOnlineInfo.localIndex].flags &= ~VOICE_CAN_SEND;			SendVoiceInfo( VOICEINFO_SPEAKERS, NULL );		}	}	return S_OK;}
开发者ID:3ddy,项目名称:Jedi-Academy,代码行数:91,


示例15: WalkFunc

static void WalkFunc (void *unused ){	float temp = s_options_vr_walkspeed_slider.curvalue / 10.0;	temp += 0.5;	Cvar_SetValue("vr_walkspeed",temp);}
开发者ID:Nephatrine,项目名称:nephq2,代码行数:6,


示例16: SV_LoadGame_f

void SV_LoadGame_f (void) {	extern cvar_t sv_progtype;	char name[MAX_OSPATH], mapname[MAX_QPATH], str[32 * 1024], *start;	FILE *f;	float time, tfloat, spawn_parms[NUM_SPAWN_PARMS];	edict_t *ent;	int entnum, version, r;	unsigned int i;	if (Cmd_Argc() != 2) {		Com_Printf ("Usage: %s <savename> : load a game/n", Cmd_Argv(0));		return;	}	snprintf (name, sizeof (name), "%s/save/%s", com_gamedir, Cmd_Argv(1));	COM_DefaultExtension (name, ".sav");	Com_Printf ("Loading game from %s.../n", name);	if (!(f = fopen (name, "rb"))) {		Com_Printf ("ERROR: couldn't open./n");		return;	}	if (fscanf (f, "%i/n", &version) != 1) {		fclose (f);		Com_Printf ("Error reading savegame data/n");		return;	}	if (version != SAVEGAME_VERSION) {		fclose (f);		Com_Printf ("Savegame is version %i, not %i/n", version, SAVEGAME_VERSION);		return;	}	if (fscanf (f, "%s/n", str) != 1) {		fclose (f);		Com_Printf ("Error reading savegame data/n");		return;	}	for (i = 0; i < NUM_SPAWN_PARMS; i++) {		if (fscanf (f, "%f/n", &spawn_parms[i]) != 1) {			fclose (f);			Com_Printf ("Error reading savegame data/n");			return;		}	}	// this silliness is so we can load 1.06 save files, which have float skill values	if (fscanf (f, "%f/n", &tfloat) != 1) {		fclose (f);		Com_Printf ("Error reading savegame data/n");		return;	}	current_skill = (int)(tfloat + 0.1);	Cvar_Set (&skill, va("%i", current_skill));	Cvar_SetValue (&deathmatch, 0);	Cvar_SetValue (&coop, 0);	Cvar_SetValue (&teamplay, 0);	Cvar_SetValue (&maxclients, 1);	Cvar_Set (&sv_progsname, "spprogs"); // force progsname#ifdef USE_PR2	Cvar_Set (&sv_progtype, "0"); // force .dat#endif	if (fscanf (f, "%s/n", mapname) != 1) {		fclose (f);		Com_Printf ("Error reading savegame data/n");		return;	}	if (fscanf (f, "%f/n", &time) != 1) {		fclose (f);		Com_Printf ("Error reading savegame data/n");		return;	}	Host_EndGame();	CL_BeginLocalConnection ();	SV_SpawnServer (mapname, false);	if (sv.state != ss_active) {		Com_Printf ("Couldn't load map/n");		fclose (f);		return;	}	// load the light styles	for (i = 0; i < MAX_LIGHTSTYLES; i++) {		if (fscanf (f, "%s/n", str) != 1) {			Com_Printf("Couldn't read lightstyles/n");			fclose (f);			return;		}		sv.lightstyles[i] = (char *) Hunk_Alloc (strlen(str) + 1);		strlcpy (sv.lightstyles[i], str, strlen(str) + 1);	}//.........这里部分代码省略.........
开发者ID:AAS,项目名称:ezquake-source,代码行数:101,


示例17: SNDDMA_Init

qboolean SNDDMA_Init(void){    ALconfig	ac = NULL;    ALpv	pvbuf[2];    s_loadas8bit = Cvar_Get("s_loadas8bit", "16", CVAR_ARCHIVE);    if ((int)s_loadas8bit->value)	dma.samplebits = 8;    else	dma.samplebits = 16;    if (dma.samplebits != 16) {	Com_Printf("Don't currently support %i-bit data.  Forcing 16-bit./n",		   dma.samplebits);	dma.samplebits = 16;	Cvar_SetValue( "s_loadas8bit", false );    }    s_khz = Cvar_Get("s_khz", "0", CVAR_ARCHIVE);    switch ((int)s_khz->value) {    case 48:	dma.speed = AL_RATE_48000;	break;    case 44:	dma.speed = AL_RATE_44100;	break;    case 32:	dma.speed = AL_RATE_32000;	break;    case 22:	dma.speed = AL_RATE_22050;	break;    case 16:	dma.speed = AL_RATE_16000;	break;    case 11:	dma.speed = AL_RATE_11025;	break;    case 8:	dma.speed = AL_RATE_8000;	break;    default:	dma.speed = AL_RATE_22050;	Com_Printf("Don't currently support %i kHz sample rate.  Using %i./n",		   (int)s_khz->value, (int)(dma.speed/1000));    }        sndchannels = Cvar_Get("sndchannels", "2", CVAR_ARCHIVE);    dma.channels = (int)sndchannels->value;    if (dma.channels != 2)	Com_Printf("Don't currently support %i sound channels.  Try 2./n",		   sndchannels);    /***********************/    ac = alNewConfig();    alSetChannels( ac, AL_STEREO );    alSetSampFmt( ac, AL_SAMPFMT_TWOSCOMP );    alSetQueueSize( ac, QSND_BUFFER_FRAMES );    if (dma.samplebits == 8)	alSetWidth( ac, AL_SAMPLE_8 );    else	alSetWidth( ac, AL_SAMPLE_16 );    sgisnd_aport = alOpenPort( "Quake", "w", ac );    if (!sgisnd_aport)    {	printf( "failed to open audio port!/n" );    }    // set desired sample rate    pvbuf[0].param = AL_MASTER_CLOCK;    pvbuf[0].value.i = AL_CRYSTAL_MCLK_TYPE;    pvbuf[1].param = AL_RATE;    pvbuf[1].value.ll = alIntToFixed( dma.speed );    alSetParams( alGetResource( sgisnd_aport ), pvbuf, 2 );    if (pvbuf[1].sizeOut < 0)	printf( "illegal sample rate %d/n", dma.speed );    sgisnd_frames_per_ns = dma.speed * 1.0e-9;    dma.samples = sizeof(dma_buffer)/(dma.samplebits/8);    dma.submission_chunk = 1;    dma.buffer = (unsigned char *)dma_buffer;    dma.samplepos = 0;    alFreeConfig( ac );    return true;}
开发者ID:AkBKukU,项目名称:Quake-2,代码行数:91,


示例18: IN_Init

/*===============IN_Init===============*/void IN_Init( void ){	int appState;	if( !SDL_WasInit( SDL_INIT_VIDEO ) )	{		Com_Error( ERR_FATAL, "IN_Init called before SDL_Init( SDL_INIT_VIDEO )" );		return;	}	Com_DPrintf( "/n------- Input Initialization -------/n" );	in_keyboardDebug = Cvar_Get( "in_keyboardDebug", "0", CVAR_ARCHIVE );	// mouse variables	in_mouse = Cvar_Get( "in_mouse", "1", CVAR_ARCHIVE );	in_nograb = Cvar_Get( "in_nograb", "0", CVAR_ARCHIVE );	in_joystick = Cvar_Get( "in_joystick", "0", CVAR_ARCHIVE|CVAR_LATCH );	in_joystickDebug = Cvar_Get( "in_joystickDebug", "0", CVAR_TEMP );	in_joystickThreshold = Cvar_Get( "joy_threshold", "0.15", CVAR_ARCHIVE );	cg_touchscreenControls = Cvar_Get ("cg_touchscreenControls", "0", CVAR_ARCHIVE);	in_gyroscope = Cvar_Get ("in_gyroscope", "1", CVAR_ARCHIVE);#ifdef MACOS_X_ACCELERATION_HACK	in_disablemacosxmouseaccel = Cvar_Get( "in_disablemacosxmouseaccel", "1", CVAR_ARCHIVE );#endif	SDL_EnableUNICODE( 1 );	SDL_EnableKeyRepeat( SDL_DEFAULT_REPEAT_DELAY, SDL_DEFAULT_REPEAT_INTERVAL );	keyRepeatEnabled = qtrue;	mouseAvailable = ( in_mouse->value != 0 );	IN_DeactivateMouse( );	appState = SDL_GetAppState( );	Cvar_SetValue( "com_unfocused",	!( appState & SDL_APPINPUTFOCUS ) );	Cvar_SetValue( "com_minimized", !( appState & SDL_APPACTIVE ) );	IN_InitKeyLockStates( );	IN_InitJoystick( );	#ifdef __ANDROID__	hideScreenKeys = cl_runningOnOuya->integer;    if (hideScreenKeys)    {    	// Hide everything		SDL_Rect rect;		rect.x = rect.y = rect.w = rect.h = 0;		SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_DPAD, &rect);		SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_0, &rect);		SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_1, &rect);		SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_2, &rect);		SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_3, &rect);		SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_4, &rect);		SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_5, &rect);		SDL_ANDROID_SetScreenKeyboardButtonPos(SDL_ANDROID_SCREENKEYBOARD_BUTTON_TEXT, &rect);	}	#endif	Com_DPrintf( "------------------------------------/n" );}
开发者ID:MrLoick,项目名称:openarena-engine,代码行数:66,


示例19: IN_ProcessEvents

//.........这里部分代码省略.........				IN_TranslateSDLToQ3Key( &e.key.keysym, &key, qfalse );				if ( key )				{					Com_QueueEvent( 0, SE_KEY, key, qfalse, 0, NULL );				}				break;			case SDL_MOUSEMOTION:				if ( mouseActive )				{					Com_QueueEvent( 0, SE_MOUSE, e.motion.xrel, e.motion.yrel, 0, NULL );				}				break;			case SDL_MOUSEBUTTONDOWN:			case SDL_MOUSEBUTTONUP:				{					unsigned char b;					switch ( e.button.button )					{						case 1:							b = K_MOUSE1;							break;						case 2:							b = K_MOUSE3;							break;						case 3:							b = K_MOUSE2;							break;						case 4:							b = K_MWHEELUP;							break;						case 5:							b = K_MWHEELDOWN;							break;						case 6:							b = K_MOUSE4;							break;						case 7:							b = K_MOUSE5;							break;						default:							b = K_AUX1 + ( e.button.button - 8 ) % 16;							break;					}					Com_QueueEvent( 0, SE_KEY, b,					                ( e.type == SDL_MOUSEBUTTONDOWN ? qtrue : qfalse ), 0, NULL );				}				break;			case SDL_QUIT:				Cbuf_ExecuteText( EXEC_NOW, "quit Closed window/n" );				break;			case SDL_VIDEORESIZE:				{					char width[ 32 ], height[ 32 ];					Com_sprintf( width, sizeof( width ), "%d", e.resize.w );					Com_sprintf( height, sizeof( height ), "%d", e.resize.h );					Cvar_Set( "r_customwidth", width );					Cvar_Set( "r_customheight", height );					Cvar_Set( "r_mode", "-1" );					/* wait until user stops dragging for 1 second, so					   we aren't constantly recreating the GL context while					   he tries to drag...*/					vidRestartTime = Sys_Milliseconds() + 1000;				}				break;			case SDL_ACTIVEEVENT:				if ( e.active.state & SDL_APPINPUTFOCUS )				{					Cvar_SetValue( "com_unfocused", !e.active.gain );				}				if ( e.active.state & SDL_APPACTIVE )				{					Cvar_SetValue( "com_minimized", !e.active.gain );				}				break;			default:				break;		}	}}
开发者ID:SHOVELL,项目名称:Unvanquished,代码行数:101,


示例20: GLimp_InitGL

//.........这里部分代码省略.........		if ( ( pixelformat = ChoosePixelFormat( glw_state.hDC, &pfd)) == 0 )		{			VID_Printf (PRINT_ALL, "GLimp_Init() - ChoosePixelFormat failed/n");			return false;		}		if ( SetPixelFormat( glw_state.hDC, pixelformat, &pfd) == FALSE )		{			VID_Printf (PRINT_ALL, "GLimp_Init() - SetPixelFormat failed/n");			return false;		}		DescribePixelFormat( glw_state.hDC, pixelformat, sizeof( pfd ), &pfd );		if ( !( pfd.dwFlags & PFD_GENERIC_ACCELERATED ) )		{			extern cvar_t *gl_allow_software;			if ( gl_allow_software->value )				glw_state.mcd_accelerated = true;			else				glw_state.mcd_accelerated = false;		}		else		{			glw_state.mcd_accelerated = true;		}	}	/*	** report if stereo is desired but unavailable	*/	if ( !( pfd.dwFlags & PFD_STEREO ) && ( stereo->value != 0 ) ) 	{		VID_Printf( PRINT_ALL, "...failed to select stereo pixel format/n" );		Cvar_SetValue( "cl_stereo", 0 );		gl_state.stereo_enabled = false;	}	/*	** startup the OpenGL subsystem by creating a context and making	** it current	*/	if ( ( glw_state.hGLRC = qwglCreateContext( glw_state.hDC ) ) == 0 )	{		VID_Printf (PRINT_ALL, "GLimp_Init() - qwglCreateContext failed/n");		goto fail;	}    if ( !qwglMakeCurrent( glw_state.hDC, glw_state.hGLRC ) )	{		VID_Printf (PRINT_ALL, "GLimp_Init() - qwglMakeCurrent failed/n");		goto fail;	}	if ( !VerifyDriver() )	{		VID_Printf( PRINT_ALL, "GLimp_Init() - no hardware acceleration detected./nPlease install drivers provided by your video card/GPU vendor./n" );		goto fail;	}	/*	** print out PFD specifics 	*/	VID_Printf( PRINT_ALL, "PIXELFORMAT: color(%d-bits) Z(%d-bit)/n", ( int ) pfd.cColorBits, ( int ) pfd.cDepthBits );
开发者ID:AimHere,项目名称:thirty-flights-of-linux,代码行数:66,


示例21: UI_NodeSetProperty

/** * @brief Set node property */bool UI_NodeSetProperty (uiNode_t* node, const value_t* property, const char* value){	const int specialType = property->type & V_UI_MASK;	int result;	size_t bytes;	switch (specialType) {	case V_NOT_UI:	/* common type */		result = Com_ParseValue(node, value, property->type, property->ofs, property->size, &bytes);		if (result != RESULT_OK) {			Com_Printf("UI_NodeSetProperty: Invalid value for property '%s': %s/n", property->string, Com_GetLastParseError());			return false;		}		UI_Node_PropertyChanged(node, property);		return true;	case V_UI_CVAR:	/* cvar */		switch ((int)property->type) {		case V_UI_CVAR:			if (Q_strstart(value, "*cvar:")) {				char*& b = Com_GetValue<char*>(node, property);				UI_FreeStringProperty(b);				b = Mem_PoolStrDup(value, ui_dynStringPool, 0);				UI_Node_PropertyChanged(node, property);				return true;			}			break;		case V_CVAR_OR_FLOAT:			{				float f;				if (Q_strstart(value, "*cvar:")) {					char*& b = Com_GetValue<char*>(node, property);					UI_FreeStringProperty(b);					b = Mem_PoolStrDup(value, ui_dynStringPool, 0);					UI_Node_PropertyChanged(node, property);					return true;				}				result = Com_ParseValue(&f, value, V_FLOAT, 0, sizeof(f), &bytes);				if (result != RESULT_OK) {					Com_Printf("UI_NodeSetProperty: Invalid value for property '%s': %s/n", property->string, Com_GetLastParseError());					return false;				}				void* const b = Com_GetValue<void*>(node, property);				if (char const* const cvar = Q_strstart((char const*)b, "*cvar:"))					Cvar_SetValue(cvar, f);				else					*(float*) b = f;				UI_Node_PropertyChanged(node, property);				return true;			}		case V_CVAR_OR_LONGSTRING:		case V_CVAR_OR_STRING:			{				char*& b = Com_GetValue<char*>(node, property);				UI_FreeStringProperty(b);				b = Mem_PoolStrDup(value, ui_dynStringPool, 0);				UI_Node_PropertyChanged(node, property);				return true;			}		}		break;	case V_UI:		switch ((int)property->type) {		case V_UI_SPRITEREF:			{				uiSprite_t* sprite = UI_GetSpriteByName(value);				Com_GetValue<uiSprite_t const*>(node, property) = sprite;				UI_Node_PropertyChanged(node, property);				return true;			}		}		break;	}	Com_Printf("UI_NodeSetProperty: Unimplemented type for property '%[email
C++ Cvar_Update函数代码示例
C++ Cvar_Set2函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。