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

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

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

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

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

示例1: Qcommon_Init

/*=================Qcommon_Init=================*/void Qcommon_Init (int argc, char **argv){	static const char	*apVersion = APPLICATION " v" VERSION " " CPUSTRING " " __DATE__ " " BUILDSTRING;	if (setjmp (abortframe) )		Sys_Error ("Error during initialization");	z_chain.next = z_chain.prev = &z_chain;	// prepare enough of the subsystems to handle	// cvar and command buffer management	COM_InitArgv (argc, argv);	Swap_Init ();	Cbuf_Init ();	Cmd_Init ();	Cvar_Init ();	Key_Init ();	// we need to add the early commands twice, because	// a basedir or cddir needs to be set before execing	// config files, but we want other parms to override	// the settings of the config files	Cbuf_AddEarlyCommands (false);	Cbuf_Execute();	FS_InitFilesystem ();	Cbuf_AddText ("exec default.cfg/n");	Cbuf_Execute();	Cbuf_AddText ("exec aprconfig.cfg/n");	Cbuf_Execute();	FS_ExecConfig("autoexec.cfg");	Cbuf_Execute();	Cbuf_AddEarlyCommands (true);	Cbuf_Execute();	Cmd_AddCommand ("echo", Cmd_Echo_f);	// init commands and vars    Cmd_AddCommand ("z_stats", Z_Stats_f);	Cmd_AddCommand( "z_check", Z_Check );	host_speeds = Cvar_Get ("host_speeds", "0", 0);	developer = Cvar_Get ("developer", "0", 0);	timescale = Cvar_Get ("timescale", "1", CVAR_CHEAT);	fixedtime = Cvar_Get ("fixedtime", "0", CVAR_CHEAT);	logfile_active = Cvar_Get ("logfile", "0", 0);	showtrace = Cvar_Get ("showtrace", "0", 0);#ifdef DEDICATED_ONLY	dedicated = Cvar_Get ("dedicated", "1", CVAR_ROM);#else	dedicated = Cvar_Get ("dedicated", "0", CVAR_NOSET);#endif	timescale->OnChange = OnChange_Timescale;	OnChange_Timescale(timescale, timescale->resetString);	Cvar_Get ("version", apVersion, CVAR_SERVERINFO|CVAR_ROM);	Cmd_AddMacro( "date", Com_Date_m );	Cmd_AddMacro( "time", Com_Time_m );	if (dedicated->integer)		Cmd_AddCommand ("quit", Com_Quit);#ifndef NDEBUG	Cmd_AddCommand( "error", Com_Error_f );	Cmd_AddCommand( "errordrop", Com_ErrorDrop_f );	Cmd_AddCommand( "freeze", Com_Freeze_f );	Cmd_AddCommand( "crash", Com_Crash_f );#endif	Sys_Init ();	srand(Sys_Milliseconds());	NET_Init ();	Netchan_Init ();	SV_Init ();	CL_Init ();	ComInitialized = true;	Cbuf_InsertFromDefer(); //Execute commands which was initialized after loading autoexec (ignore, highlight etc)	FS_ExecConfig ("postinit.cfg");	Cbuf_Execute();	// add + commands from command line	if (!Cbuf_AddLateCommands ())	{	// if the user didn't give any commands, run default action		if (!dedicated->integer)//.........这里部分代码省略.........
开发者ID:chrisnew,项目名称:quake2,代码行数:101,


示例2: CM_TraceThroughPatchCollide

//.........这里部分代码省略.........		{			offset    = DotProduct(tw->offsets[planes->signbits], plane);			plane[3] -= offset;			VectorCopy(tw->start, startp);			VectorCopy(tw->end, endp);		}		if (!CM_CheckFacetPlane(plane, startp, endp, &enterFrac, &leaveFrac, &hit))		{			continue;		}		if (hit)		{			Vector4Copy(plane, bestplane);		}		for (j = 0 ; j < facet->numBorders ; j++)		{			planes = &pc->planes[facet->borderPlanes[j]];			if (facet->borderInward[j])			{				VectorNegate(planes->plane, plane);				plane[3] = -planes->plane[3];			}			else			{				VectorCopy(planes->plane, plane);				plane[3] = planes->plane[3];			}			if (tw->sphere.use)			{				// adjust the plane distance apropriately for radius				plane[3] += tw->sphere.radius;				// find the closest point on the capsule to the plane				t = DotProduct(plane, tw->sphere.offset);				if (t > 0.0f)				{					VectorSubtract(tw->start, tw->sphere.offset, startp);					VectorSubtract(tw->end, tw->sphere.offset, endp);				}				else				{					VectorAdd(tw->start, tw->sphere.offset, startp);					VectorAdd(tw->end, tw->sphere.offset, endp);				}			}			else			{				// NOTE: this works even though the plane might be flipped because the bbox is centered				offset    = DotProduct(tw->offsets[planes->signbits], plane);				plane[3] += Q_fabs(offset);				VectorCopy(tw->start, startp);				VectorCopy(tw->end, endp);			}			if (!CM_CheckFacetPlane(plane, startp, endp, &enterFrac, &leaveFrac, &hit))			{				break;			}			if (hit)			{				hitnum = j;				Vector4Copy(plane, bestplane);			}		}		if (j < facet->numBorders)		{			continue;		}		// never clip against the back side		if (hitnum == facet->numBorders - 1)		{			continue;		}		if (enterFrac < leaveFrac && enterFrac >= 0)		{			if (enterFrac < tw->trace.fraction)			{				if (enterFrac < 0)				{					enterFrac = 0;				}				if (!cv)				{					cv = Cvar_Get("r_debugSurfaceUpdate", "1", 0);				}				if (cv && cv->integer)				{					debugPatchCollide = pc;					debugFacet        = facet;				}				tw->trace.fraction = enterFrac;				VectorCopy(bestplane, tw->trace.plane.normal);				tw->trace.plane.dist = bestplane[3];			}		}	}}
开发者ID:etlegacy,项目名称:etlegacy,代码行数:101,


示例3: CL_InitInput

/** CL_InitInput*/void CL_InitInput( void ){	if( in_initialized )		return;	Cmd_AddCommand( "in_restart", IN_Restart );	IN_Init();	Cmd_AddCommand( "centerview", IN_CenterView );	Cmd_AddCommand( "+moveup", IN_UpDown );	Cmd_AddCommand( "-moveup", IN_UpUp );	Cmd_AddCommand( "+movedown", IN_DownDown );	Cmd_AddCommand( "-movedown", IN_DownUp );	Cmd_AddCommand( "+left", IN_LeftDown );	Cmd_AddCommand( "-left", IN_LeftUp );	Cmd_AddCommand( "+right", IN_RightDown );	Cmd_AddCommand( "-right", IN_RightUp );	Cmd_AddCommand( "+forward", IN_ForwardDown );	Cmd_AddCommand( "-forward", IN_ForwardUp );	Cmd_AddCommand( "+back", IN_BackDown );	Cmd_AddCommand( "-back", IN_BackUp );	Cmd_AddCommand( "+lookup", IN_LookupDown );	Cmd_AddCommand( "-lookup", IN_LookupUp );	Cmd_AddCommand( "+lookdown", IN_LookdownDown );	Cmd_AddCommand( "-lookdown", IN_LookdownUp );	Cmd_AddCommand( "+strafe", IN_StrafeDown );	Cmd_AddCommand( "-strafe", IN_StrafeUp );	Cmd_AddCommand( "+moveleft", IN_MoveleftDown );	Cmd_AddCommand( "-moveleft", IN_MoveleftUp );	Cmd_AddCommand( "+moveright", IN_MoverightDown );	Cmd_AddCommand( "-moveright", IN_MoverightUp );	Cmd_AddCommand( "+speed", IN_SpeedDown );	Cmd_AddCommand( "-speed", IN_SpeedUp );	Cmd_AddCommand( "+attack", IN_AttackDown );	Cmd_AddCommand( "-attack", IN_AttackUp );	Cmd_AddCommand( "+use", IN_UseDown );	Cmd_AddCommand( "-use", IN_UseUp );	Cmd_AddCommand( "+klook", IN_KLookDown );	Cmd_AddCommand( "-klook", IN_KLookUp );	// wsw	Cmd_AddCommand( "+special", IN_SpecialDown );	Cmd_AddCommand( "-special", IN_SpecialUp );	Cmd_AddCommand( "+zoom", IN_ZoomDown );	Cmd_AddCommand( "-zoom", IN_ZoomUp );	cl_ucmdMaxResend =	Cvar_Get( "cl_ucmdMaxResend", "3", CVAR_ARCHIVE );	cl_ucmdFPS =		Cvar_Get( "cl_ucmdFPS", "62", CVAR_DEVELOPER );#ifdef UCMDTIMENUDGE	cl_ucmdTimeNudge =	Cvar_Get( "cl_ucmdTimeNudge", "0", CVAR_USERINFO|CVAR_DEVELOPER );	if( abs( cl_ucmdTimeNudge->integer ) > MAX_UCMD_TIMENUDGE )	{		if( cl_ucmdTimeNudge->integer < -MAX_UCMD_TIMENUDGE )			Cvar_SetValue( "cl_ucmdTimeNudge", -MAX_UCMD_TIMENUDGE );		else if( cl_ucmdTimeNudge->integer > MAX_UCMD_TIMENUDGE )			Cvar_SetValue( "cl_ucmdTimeNudge", MAX_UCMD_TIMENUDGE );	}#endif	in_initialized = qtrue;}
开发者ID:Turupawn,项目名称:DogeWarsow,代码行数:65,


示例4: Sys_Init

/*================Sys_Init================*/void Sys_Init(void){    OSVERSIONINFO vinfo;#ifndef _WIN64    HMODULE module;    BOOL (WINAPI * pSetProcessDEPPolicy)(DWORD);#endif    cvar_t *var = NULL;    // check windows version    vinfo.dwOSVersionInfoSize = sizeof(vinfo);    if (!GetVersionEx(&vinfo)) {        Sys_Error("Couldn't get OS info");    }    if (vinfo.dwPlatformId != VER_PLATFORM_WIN32_NT) {        Sys_Error(PRODUCT " requires Windows NT");    }    if (vinfo.dwMajorVersion < 5) {        Sys_Error(PRODUCT " requires Windows 2000 or greater");    }    if (!QueryPerformanceFrequency(&timer_freq))        Sys_Error("QueryPerformanceFrequency failed");    // basedir <path>    // allows the game to run from outside the data tree    sys_basedir = Cvar_Get("basedir", currentDirectory, CVAR_NOSET);    sys_libdir = Cvar_Get("libdir", currentDirectory, CVAR_NOSET);    // homedir <path>    // specifies per-user writable directory for demos, screenshots, etc    sys_homedir = Cvar_Get("homedir", "", CVAR_NOSET);    sys_forcegamelib = Cvar_Get("sys_forcegamelib", "", CVAR_NOSET);#if USE_WINSVC    Cmd_AddCommand("installservice", Sys_InstallService_f);    Cmd_AddCommand("deleteservice", Sys_DeleteService_f);#endif#if USE_SYSCON    houtput = GetStdHandle(STD_OUTPUT_HANDLE);#if USE_CLIENT    sys_viewlog = Cvar_Get("sys_viewlog", "0", CVAR_NOSET);    if (dedicated->integer || sys_viewlog->integer)#endif        Sys_ConsoleInit();#endif // USE_SYSCON#if USE_DBGHELP    var = Cvar_Get("sys_disablecrashdump", "0", CVAR_NOSET);    // install our exception filter    if (!var->integer) {        mainProcessThread = GetCurrentThread();        prevExceptionFilter = SetUnhandledExceptionFilter(                                  Sys_ExceptionFilter);    }#endif#ifndef _WIN64    module = GetModuleHandle("kernel32.dll");    if (module) {        pSetProcessDEPPolicy = (PVOID)GetProcAddress(module,                                                     "SetProcessDEPPolicy");        if (pSetProcessDEPPolicy) {            var = Cvar_Get("sys_disabledep", "0", CVAR_NOSET);            // opt-in or opt-out for DEP            if (!var->integer) {                pSetProcessDEPPolicy(                    PROCESS_DEP_ENABLE |                    PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION);            } else if (var->integer == 2) {                pSetProcessDEPPolicy(0);            }        }    }#endif}
开发者ID:m4son,项目名称:q2pro,代码行数:86,


示例5: CL_InitInput

/*============CL_InitInput============*/void CL_InitInput( void ) {    Cmd_AddCommand ("centerview",IN_CenterView);    Cmd_AddCommand ("+moveup",IN_UpDown);    Cmd_AddCommand ("-moveup",IN_UpUp);    Cmd_AddCommand ("+movedown",IN_DownDown);    Cmd_AddCommand ("-movedown",IN_DownUp);    Cmd_AddCommand ("+left",IN_LeftDown);    Cmd_AddCommand ("-left",IN_LeftUp);    Cmd_AddCommand ("+right",IN_RightDown);    Cmd_AddCommand ("-right",IN_RightUp);    Cmd_AddCommand ("+forward",IN_ForwardDown);    Cmd_AddCommand ("-forward",IN_ForwardUp);    Cmd_AddCommand ("+back",IN_BackDown);    Cmd_AddCommand ("-back",IN_BackUp);    Cmd_AddCommand ("+lookup", IN_LookupDown);    Cmd_AddCommand ("-lookup", IN_LookupUp);    Cmd_AddCommand ("+lookdown", IN_LookdownDown);    Cmd_AddCommand ("-lookdown", IN_LookdownUp);    Cmd_AddCommand ("+strafe", IN_StrafeDown);    Cmd_AddCommand ("-strafe", IN_StrafeUp);    Cmd_AddCommand ("+moveleft", IN_MoveleftDown);    Cmd_AddCommand ("-moveleft", IN_MoveleftUp);    Cmd_AddCommand ("+moveright", IN_MoverightDown);    Cmd_AddCommand ("-moveright", IN_MoverightUp);    Cmd_AddCommand ("+speed", IN_SpeedDown);    Cmd_AddCommand ("-speed", IN_SpeedUp);    Cmd_AddCommand ("+attack", IN_Button0Down);    Cmd_AddCommand ("-attack", IN_Button0Up);    Cmd_AddCommand ("+button0", IN_Button0Down);    Cmd_AddCommand ("-button0", IN_Button0Up);    Cmd_AddCommand ("+button1", IN_Button1Down);    Cmd_AddCommand ("-button1", IN_Button1Up);    Cmd_AddCommand ("+button2", IN_Button2Down);    Cmd_AddCommand ("-button2", IN_Button2Up);    Cmd_AddCommand ("+button3", IN_Button3Down);    Cmd_AddCommand ("-button3", IN_Button3Up);    Cmd_AddCommand ("+button4", IN_Button4Down);    Cmd_AddCommand ("-button4", IN_Button4Up);    Cmd_AddCommand ("+button5", IN_Button5Down);    Cmd_AddCommand ("-button5", IN_Button5Up);    Cmd_AddCommand ("+button6", IN_Button6Down);    Cmd_AddCommand ("-button6", IN_Button6Up);    Cmd_AddCommand ("+button7", IN_Button7Down);    Cmd_AddCommand ("-button7", IN_Button7Up);    Cmd_AddCommand ("+button8", IN_Button8Down);    Cmd_AddCommand ("-button8", IN_Button8Up);    Cmd_AddCommand ("+button9", IN_Button9Down);    Cmd_AddCommand ("-button9", IN_Button9Up);    Cmd_AddCommand ("+button10", IN_Button10Down);    Cmd_AddCommand ("-button10", IN_Button10Up);    Cmd_AddCommand ("+button11", IN_Button11Down);    Cmd_AddCommand ("-button11", IN_Button11Up);    Cmd_AddCommand ("+button12", IN_Button12Down);    Cmd_AddCommand ("-button12", IN_Button12Up);    Cmd_AddCommand ("+button13", IN_Button13Down);    Cmd_AddCommand ("-button13", IN_Button13Up);    Cmd_AddCommand ("+button14", IN_Button14Down);    Cmd_AddCommand ("-button14", IN_Button14Up);    Cmd_AddCommand ("+mlook", IN_MLookDown);    Cmd_AddCommand ("-mlook", IN_MLookUp);    cl_nodelta = Cvar_Get ("cl_nodelta", "0", 0);    cl_debugMove = Cvar_Get ("cl_debugMove", "0", 0);}
开发者ID:jonbwhite,项目名称:quake-wii,代码行数:70,


示例6: S_Base_Init

/*================S_Init================*/qboolean S_Base_Init( soundInterface_t *si ) {	qboolean	r;	if( !si ) {		return qfalse;	}#ifndef NO_DMAHD	s_khz = Cvar_Get ("s_khz", "44", CVAR_ARCHIVE);#else	s_khz = Cvar_Get ("s_khz", "22", CVAR_ARCHIVE);#endif	s_mixahead = Cvar_Get ("s_mixahead", "0.2", CVAR_ARCHIVE);	s_mixPreStep = Cvar_Get ("s_mixPreStep", "0.05", CVAR_ARCHIVE);	s_show = Cvar_Get ("s_show", "0", CVAR_CHEAT);	s_testsound = Cvar_Get ("s_testsound", "0", CVAR_CHEAT);	s_dev = Cvar_Get ("s_dev", "", CVAR_ARCHIVE);    s_alttabmute = Cvar_Get ("s_alttabmute", "1", CVAR_ARCHIVE);	Cmd_AddCommand( "s_devlist", S_dmaHD_devlist );		r = SNDDMA_Init();	if ( r ) {		s_soundStarted = 1;		s_soundMuted = 1;//		s_numSfx = 0;		Com_Memset(sfxHash, 0, sizeof(sfx_t *)*LOOP_HASH);		s_soundtime = 0;		s_paintedtime = 0;		S_Base_StopAllSounds( );	} else {		return qfalse;	}	si->Shutdown = S_Base_Shutdown;	si->StartSound = S_Base_StartSound;	si->StartLocalSound = S_Base_StartLocalSound;	si->StartBackgroundTrack = S_Base_StartBackgroundTrack;	si->StopBackgroundTrack = S_Base_StopBackgroundTrack;	si->RawSamples = S_Base_RawSamples;	si->StopAllSounds = S_Base_StopAllSounds;	si->ClearLoopingSounds = S_Base_ClearLoopingSounds;	si->AddLoopingSound = S_Base_AddLoopingSound;	si->AddRealLoopingSound = S_Base_AddRealLoopingSound;	si->StopLoopingSound = S_Base_StopLoopingSound;	si->Respatialize = S_Base_Respatialize;	si->UpdateEntityPosition = S_Base_UpdateEntityPosition;	si->Update = S_Base_Update;	si->DisableSounds = S_Base_DisableSounds;	si->BeginRegistration = S_Base_BeginRegistration;	si->RegisterSound = S_Base_RegisterSound;	si->ClearSoundBuffer = S_Base_ClearSoundBuffer;	si->SoundInfo = S_Base_SoundInfo;	si->SoundList = S_Base_SoundList;#ifndef NO_DMAHD	if (dmaHD_Enabled()) return dmaHD_Init(si);#endif	return qtrue;}
开发者ID:JERUKA9,项目名称:ioq3-for-UrbanTerror-4,代码行数:70,


示例7: CL_SystemInfoChanged

/*==================CL_SystemInfoChangedThe systeminfo configstring has been changed, so parsenew information out of it.  This will happen at everygamestate, and possibly during gameplay.==================*/void CL_SystemInfoChanged( void ) {	char			*systemInfo;	const char		*s, *t;	char			key[BIG_INFO_KEY];	char			value[BIG_INFO_VALUE];	qboolean		gameSet;	systemInfo = cl.gameState.stringData + cl.gameState.stringOffsets[ CS_SYSTEMINFO ];	// NOTE TTimo:	// when the serverId changes, any further messages we send to the server will use this new serverId	// https://zerowing.idsoftware.com/bugzilla/show_bug.cgi?id=475	// in some cases, outdated cp commands might get sent with this news serverId	cl.serverId = atoi( Info_ValueForKey( systemInfo, "sv_serverid" ) );#ifdef USE_VOIP#ifdef LEGACY_PROTOCOL	if(clc.compat)		clc.voipEnabled = qfalse;	else#endif	{		s = Info_ValueForKey( systemInfo, "sv_voip" );		clc.voipEnabled = atoi(s);	}#endif	// don't set any vars when playing a demo	if ( clc.demoplaying ) {		return;	}	s = Info_ValueForKey( systemInfo, "sv_cheats" );	cl_connectedToCheatServer = atoi( s );	if ( !cl_connectedToCheatServer ) {		Cvar_SetCheatState();	}	// check pure server string	s = Info_ValueForKey( systemInfo, "sv_paks" );	t = Info_ValueForKey( systemInfo, "sv_pakNames" );	FS_PureServerSetLoadedPaks( s, t );	s = Info_ValueForKey( systemInfo, "sv_referencedPaks" );	t = Info_ValueForKey( systemInfo, "sv_referencedPakNames" );	FS_PureServerSetReferencedPaks( s, t );	gameSet = qfalse;	// scan through all the variables in the systeminfo and locally set cvars to match	s = systemInfo;	while ( s ) {		int cvar_flags;				Info_NextPair( &s, key, value );		if ( !key[0] ) {			break;		}				// ehw!		if (!Q_stricmp(key, "fs_game"))		{			if(FS_CheckDirTraversal(value))			{				Com_Printf(S_COLOR_YELLOW "WARNING: Server sent invalid fs_game value %s/n", value);				continue;			}							gameSet = qtrue;		}		if((cvar_flags = Cvar_Flags(key)) == CVAR_NONEXISTENT)			Cvar_Get(key, value, CVAR_SERVER_CREATED | CVAR_ROM);		else		{			// If this cvar may not be modified by a server discard the value.			// I have added exceptions for sv_fps, pmove_fixed and pmove_msec. These should relly be corrected in the game logic code,			// but they are required for a lot of mods and not all can be changed.			// vq3 uses pmove_fixed, pmove_msec and g_synchronousClients. Most unlagged mods uses sv_fps too.			if(!(cvar_flags & (CVAR_SYSTEMINFO | CVAR_SERVER_CREATED)) && Q_stricmp(key, "sv_fps") && Q_stricmp(key, "pmove_fixed") &&/				 Q_stricmp(key, "pmove_msec") && Q_stricmp(key, "g_synchronousClients"))			{#ifndef STANDALONE				if(Q_stricmp(key, "g_synchronousClients") && Q_stricmp(key, "pmove_fixed") &&				   Q_stricmp(key, "pmove_msec"))#endif				{					Com_Printf(S_COLOR_YELLOW "WARNING: server is not allowed to set %s=%s/n", key, value);					continue;				}			}			Cvar_SetSafe(key, value);//.........这里部分代码省略.........
开发者ID:Livewingx,项目名称:engine,代码行数:101,


示例8: Sys_Init

void Sys_Init( void ) {	int cpuid;	// make sure the timer is high precision, otherwise	// NT gets 18ms resolution	timeBeginPeriod( 1 );	Cmd_AddCommand ("in_restart", Sys_In_Restart_f);#if MEM_DEBUG	SH_Register();#endif	g_wv.osversion.dwOSVersionInfoSize = sizeof( g_wv.osversion );	if (!GetVersionEx (&g_wv.osversion))		Sys_Error ("Couldn't get OS info");	if (Sys_IsExpired()) {		g_wv.osversion.dwMajorVersion = 0;	}	if (g_wv.osversion.dwMajorVersion < 4)		Sys_Error ("This game requires Windows version 4 or greater");	if (g_wv.osversion.dwPlatformId == VER_PLATFORM_WIN32s)		Sys_Error ("This game doesn't run on Win32s");	if ( g_wv.osversion.dwPlatformId == VER_PLATFORM_WIN32_NT )	{		Cvar_Set( "arch", "winnt" );	}	else if ( g_wv.osversion.dwPlatformId == VER_PLATFORM_WIN32_WINDOWS )	{		if ( LOWORD( g_wv.osversion.dwBuildNumber ) >= WIN98_BUILD_NUMBER )		{			Cvar_Set( "arch", "win98" );		}		else if ( LOWORD( g_wv.osversion.dwBuildNumber ) >= OSR2_BUILD_NUMBER )		{			Cvar_Set( "arch", "win95 osr2.x" );		}		else		{			Cvar_Set( "arch", "win95" );		}	}	else	{		Cvar_Set( "arch", "unknown Windows variant" );	}	// save out a couple things in rom cvars for the renderer to access	Cvar_Get( "win_hinstance", va("%i", (int)g_wv.hInstance), CVAR_ROM );	Cvar_Get( "win_wndproc", va("%i", (int)MainWndProc), CVAR_ROM );	//	// figure out our CPU	//	Cvar_Get( "sys_cpustring", "detect", 0 );	if ( !Q_stricmp( Cvar_VariableString( "sys_cpustring"), "detect" ) )	{		Com_Printf( "...detecting CPU, found " );		cpuid = Sys_GetProcessorId();		switch ( cpuid )		{		case CPUID_GENERIC:			Cvar_Set( "sys_cpustring", "generic" );			break;		case CPUID_INTEL_UNSUPPORTED:			Cvar_Set( "sys_cpustring", "x86 (pre-Pentium)" );			break;		case CPUID_INTEL_PENTIUM:			Cvar_Set( "sys_cpustring", "x86 (P5/PPro, non-MMX)" );			break;		case CPUID_INTEL_MMX:			Cvar_Set( "sys_cpustring", "x86 (P5/Pentium2, MMX)" );			break;		case CPUID_INTEL_KATMAI:			Cvar_Set( "sys_cpustring", "Intel Pentium III" );			break;		case CPUID_INTEL_WILLIAMETTE:			Cvar_Set( "sys_cpustring", "Intel Pentium IV" );			break;		case CPUID_AMD_3DNOW:			Cvar_Set( "sys_cpustring", "AMD w/ 3DNow!" );			break;		case CPUID_AXP:			Cvar_Set( "sys_cpustring", "Alpha AXP" );			break;		default:			Com_Error( ERR_FATAL, "Unknown cpu type %d/n", cpuid );			break;		}	}	else	{		Com_Printf( "...forcing CPU type to " );		if ( !Q_stricmp( Cvar_VariableString( "sys_cpustring" ), "generic" ) )		{			cpuid = CPUID_GENERIC;//.........这里部分代码省略.........
开发者ID:Hasimir,项目名称:jedi-outcast-1,代码行数:101,


示例9: UI_Cvar_Create

static void UI_Cvar_Create( const char *var_name, const char *var_value, int flags ) {	Cvar_Get( var_name, var_value, flags );}
开发者ID:5Quintessential,项目名称:jedioutcast,代码行数:3,


示例10: GLimp_SetMode

//.........这里部分代码省略.........		/* Need alpha or else SGIs choose 36+ bit RGB mode */		SDL_GL_SetAttribute( SDL_GL_ALPHA_SIZE, 1);#endif		SDL_GL_SetAttribute( SDL_GL_RED_SIZE, sdlcolorbits );		SDL_GL_SetAttribute( SDL_GL_GREEN_SIZE, sdlcolorbits );		SDL_GL_SetAttribute( SDL_GL_BLUE_SIZE, sdlcolorbits );		SDL_GL_SetAttribute( SDL_GL_DEPTH_SIZE, tdepthbits );		SDL_GL_SetAttribute( SDL_GL_STENCIL_SIZE, tstencilbits );		SDL_GL_SetAttribute( SDL_GL_MULTISAMPLEBUFFERS, samples ? 1 : 0 );		SDL_GL_SetAttribute( SDL_GL_MULTISAMPLESAMPLES, samples );		/*if(r_stereoEnabled->integer)		{			glConfig.stereoEnabled = qtrue;			SDL_GL_SetAttribute(SDL_GL_STEREO, 1);		}		else		{*/			glConfig.stereoEnabled = qfalse;			SDL_GL_SetAttribute(SDL_GL_STEREO, 0);		//}		SDL_GL_SetAttribute( SDL_GL_DOUBLEBUFFER, 1 );#if 0 // See http://bugzilla.icculus.org/show_bug.cgi?id=3526		// If not allowing software GL, demand accelerated		if( !r_allowSoftwareGL->integer )		{			if( SDL_GL_SetAttribute( SDL_GL_ACCELERATED_VISUAL, 1 ) < 0 )			{				Com_Printf( "Unable to guarantee accelerated "						"visual with libSDL < 1.2.10/n" );			}		}#endif		if( SDL_GL_SetSwapInterval(r_swapInterval->integer ) < 0 )			Com_Printf( "SDL_GL_SetSwapInterval not supported/n" );#ifdef USE_ICON		{			SDL_Surface *icon = SDL_CreateRGBSurfaceFrom(					(void *)CLIENT_WINDOW_ICON.pixel_data,					CLIENT_WINDOW_ICON.width,					CLIENT_WINDOW_ICON.height,					CLIENT_WINDOW_ICON.bytes_per_pixel * 8,					CLIENT_WINDOW_ICON.bytes_per_pixel * CLIENT_WINDOW_ICON.width,#ifdef Q3_LITTLE_ENDIAN					0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000#else					0xFF000000, 0x00FF0000, 0x0000FF00, 0x000000FF#endif					);			SDL_WM_SetIcon( icon, NULL );			SDL_FreeSurface( icon );		}#endif		// FIXME: Product name		cvar_t *com_productName = Cvar_Get("com_productName", "OpenJK" /* PRODUCT_NAME */, CVAR_ROM);		//SDL_SetWindowTitle(com_productName->string, com_productName->string);		SDL_ShowCursor(0);		if (!(window = SDL_CreateWindow(com_productName->string, SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, glConfig.vidWidth, glConfig.vidHeight, flags)))		{			Com_Printf( "SDL_CreateWindow failed: %s/n", SDL_GetError( ) );			continue;		}		opengl_context = SDL_GL_CreateContext(window);		Com_Printf( "Using %d/%d/%d Color bits, %d depth, %d stencil display./n",				sdlcolorbits, sdlcolorbits, sdlcolorbits, tdepthbits, tstencilbits);		glConfig.colorBits = tcolorbits;		glConfig.depthBits = tdepthbits;		glConfig.stencilBits = tstencilbits;		break;	}	GLimp_DetectAvailableModes();	if (!window)	{		Com_Printf( "Couldn't get a visual/n" );		return RSERR_INVALID_MODE;	}	screen = window;	// FIXME: Defines needed here	glstring = (char *) qglGetString (GL_RENDERER);	Com_Printf( "GL_RENDERER: %s/n", glstring );	return RSERR_OK;#endif}
开发者ID:iMp-Rex,项目名称:OpenJK,代码行数:101,


示例11: GLimp_Init

void 		GLimp_Init( void ){	Cvar_Get( "r_restartOnResize", "1", CVAR_ARCHIVE );	Cvar_Get( "r_resizeDelay", "1000", CVAR_ARCHIVE );	r_allowSoftwareGL = Cvar_Get( "r_allowSoftwareGL", "0", CVAR_LATCH );	r_sdlDriver = Cvar_Get( "r_sdlDriver", "", CVAR_ROM );	r_allowResize = Cvar_Get( "r_allowResize", "0", CVAR_ARCHIVE );	r_centerWindow = Cvar_Get( "r_centerWindow", "0", CVAR_ARCHIVE );	r_noborder = Cvar_Get( "r_noborder", "0", CVAR_ARCHIVE );	/*	if( Cvar_VariableIntegerValue( "com_abnormalExit" ) )	{		Cvar_Set( "r_mode", va( "%d", R_MODE_FALLBACK ) );		Cvar_Set( "r_picmap", "1" );		Cvar_Set( "r_texturebits", "0" );		Cvar_Set( "r_textureMode", "GL_LINEAR_MIPMAP_NEAREST" );		Cvar_Set( "r_fullscreen", "0" );		Cvar_Set( "r_centerWindow", "0" );		Cvar_Set( "com_abnormalExit", "0" );		}*/	Sys_SetEnv( "SDL_VIDEO_CENTERED", r_centerWindow->integer ? "1" : "" );	// Create the window and set up the context	if(GLimp_StartDriverAndSetMode(r_mode->integer, r_fullscreen->integer, r_noborder->integer))		goto success;	// Try again, this time in a platform specific "safe mode"	/* Sys_GLimpSafeInit( );	if(GLimp_StartDriverAndSetMode(r_mode->integer, r_fullscreen->integer, qfalse))		goto success; */	/*	// Finally, try the default screen resolution	if( r_mode->integer != R_MODE_FALLBACK )	{		Com_Printf( "Setting r_mode %d failed, falling back on r_mode %d/n",				r_mode->integer, R_MODE_FALLBACK );		if(GLimp_StartDriverAndSetMode(R_MODE_FALLBACK, qfalse, qfalse))			goto success;			}*/	// Nothing worked, give up	Com_Error( ERR_FATAL, "GLimp_Init() - could not load OpenGL subsystem" );success:	// This values force the UI to disable driver selection	//	glConfig.driverType = GLDRV_ICD;	//	glConfig.hardwareType = GLHW_GENERIC;	glConfig.deviceSupportsGamma = (qboolean)(SDL_SetGamma( screen, 1.0f, 1.0f, 1.0f ) >= 0);	// Mysteriously, if you use an NVidia graphics card and multiple monitors,	// SDL_SetGamma will incorrectly return false... the first time; ask	// again and you get the correct answer. This is a suspected driver bug, see	// http://bugzilla.icculus.org/show_bug.cgi?id=4316	glConfig.deviceSupportsGamma = (qboolean)(SDL_SetGamma( screen, 1.0f, 1.0f, 1.0f ) >= 0);	if ( -1 == r_ignorehwgamma->integer)		glConfig.deviceSupportsGamma = 1;	if ( 1 == r_ignorehwgamma->integer)		glConfig.deviceSupportsGamma = 0;	// get our config strings    glConfig.vendor_string = (const char *) qglGetString (GL_VENDOR);    glConfig.renderer_string = (const char *) qglGetString (GL_RENDERER);    glConfig.version_string = (const char *) qglGetString (GL_VERSION);    glConfig.extensions_string = (const char *) qglGetString (GL_EXTENSIONS);	// OpenGL driver constants	qglGetIntegerv( GL_MAX_TEXTURE_SIZE, &glConfig.maxTextureSize );	// stubbed or broken drivers may have reported 0...	if ( glConfig.maxTextureSize <= 0 )	{		glConfig.maxTextureSize = 0;	}	// initialize extensions	GLimp_InitExtensions( );	Cvar_Get( "r_availableModes", "", CVAR_ROM );	// This depends on SDL_INIT_VIDEO, hence having it here	IN_Init( screen );}
开发者ID:iMp-Rex,项目名称:OpenJK,代码行数:86,


示例12: SNDDMA_Init

qboolean SNDDMA_Init(void){	int rc;    int fmt;	int tmp;    int i;    // char *s; // bk001204 - unused	struct audio_buf_info info;	int caps;	if (snd_inited)		return 1;	if (!snddevice) {		sndbits = Cvar_Get("sndbits", "16", CVAR_ARCHIVE);		sndspeed = Cvar_Get("sndspeed", "0", CVAR_ARCHIVE);		sndchannels = Cvar_Get("sndchannels", "2", CVAR_ARCHIVE);		snddevice = Cvar_Get("snddevice", "/dev/dsp", CVAR_ARCHIVE);	}	// open /dev/dsp, confirm capability to mmap, and get size of dma buffer	if (!audio_fd) {		audio_fd = open(snddevice->string, O_RDWR);		if (audio_fd < 0) {			perror(snddevice->string);			Com_Printf("Could not open %s/n", snddevice->string);			return 0;			}	}	if (ioctl(audio_fd, SNDCTL_DSP_GETCAPS, &caps) == -1) {		perror(snddevice->string);        Com_Printf("Sound driver too old/n");		close(audio_fd);		return 0;	}	if (!(caps & DSP_CAP_TRIGGER) || !(caps & DSP_CAP_MMAP)) {		Com_Printf("Sorry but your soundcard can't do this/n");		close(audio_fd);		return 0;	}	/* SNDCTL_DSP_GETOSPACE moved to be called later */    	// set sample bits & speed  dma.samplebits = (int)sndbits->value;	if (dma.samplebits != 16 && dma.samplebits != 8) {        ioctl(audio_fd, SNDCTL_DSP_GETFMTS, &fmt);        if (fmt & AFMT_S16_LE) 			dma.samplebits = 16;        else if (fmt & AFMT_U8) 			dma.samplebits = 8;    }	dma.speed = (int)sndspeed->value;	if (!dma.speed) {        for (i=0 ; i<sizeof(tryrates)/4 ; i++)            if (!ioctl(audio_fd, SNDCTL_DSP_SPEED, &tryrates[i])) 				break;        dma.speed = tryrates[i];    }	dma.channels = (int)sndchannels->value;	if (dma.channels < 1 || dma.channels > 2)		dma.channels = 2;        /*  mmap() call moved forward */	tmp = 0;	if (dma.channels == 2)		tmp = 1;    rc = ioctl(audio_fd, SNDCTL_DSP_STEREO, &tmp);    if (rc < 0) {		perror(snddevice->string);        Com_Printf("Could not set %s to stereo=%d", snddevice->string, dma.channels);		close(audio_fd);        return 0;    }	if (tmp)		dma.channels = 2;	else		dma.channels = 1;    rc = ioctl(audio_fd, SNDCTL_DSP_SPEED, &dma.speed);    if (rc < 0) {		perror(snddevice->string);        Com_Printf("Could not set %s speed to %d", snddevice->string, dma.speed);		close(audio_fd);        return 0;    }    if (dma.samplebits == 16) {        rc = AFMT_S16_LE;        rc = ioctl(audio_fd, SNDCTL_DSP_SETFMT, &rc);        if (rc < 0) {			perror(snddevice->string);//.........这里部分代码省略.........
开发者ID:Barbatos,项目名称:ioq3-bumpy-UrbanTerror-4.x,代码行数:101,


示例13: IN_InitJoystick

/*===============IN_InitJoystick===============*/static void IN_InitJoystick( void ){	int i = 0;	int total = 0;	char buf[16384] = "";	if (stick != NULL)		SDL_JoystickClose(stick);	stick = NULL;	memset(&stick_state, '/0', sizeof (stick_state));	if (!SDL_WasInit(SDL_INIT_JOYSTICK))	{		Com_DPrintf("Calling SDL_Init(SDL_INIT_JOYSTICK).../n");		if (SDL_Init(SDL_INIT_JOYSTICK) == -1)		{			Com_DPrintf("SDL_Init(SDL_INIT_JOYSTICK) failed: %s/n", SDL_GetError());			return;		}		Com_DPrintf("SDL_Init(SDL_INIT_JOYSTICK) passed./n");	}	total = SDL_NumJoysticks();	Com_DPrintf("%d possible joysticks/n", total);	// Print list and build cvar to allow ui to select joystick.	for (i = 0; i < total; i++)	{		Q_strcat(buf, sizeof(buf), SDL_JoystickNameForIndex(i));		Q_strcat(buf, sizeof(buf), "/n");	}	Cvar_Get( "in_availableJoysticks", buf, CVAR_ROM );	if( !in_joystick->integer ) {		Com_DPrintf( "Joystick is not active./n" );		SDL_QuitSubSystem(SDL_INIT_JOYSTICK);		return;	}	in_joystickNo = Cvar_Get( "in_joystickNo", "0", CVAR_ARCHIVE );	if( in_joystickNo->integer < 0 || in_joystickNo->integer >= total )		Cvar_Set( "in_joystickNo", "0" );	in_joystickUseAnalog = Cvar_Get( "in_joystickUseAnalog", "0", CVAR_ARCHIVE );	in_joystickThreshold = Cvar_Get( "joy_threshold", "0.15", CVAR_ARCHIVE );	stick = SDL_JoystickOpen( in_joystickNo->integer );	if (stick == NULL) {		Com_DPrintf( "No joystick opened./n" );		return;	}	Com_DPrintf( "Joystick %d opened/n", in_joystickNo->integer );	Com_DPrintf( "Name:       %s/n", SDL_JoystickNameForIndex(in_joystickNo->integer) );	Com_DPrintf( "Axes:       %d/n", SDL_JoystickNumAxes(stick) );	Com_DPrintf( "Hats:       %d/n", SDL_JoystickNumHats(stick) );	Com_DPrintf( "Buttons:    %d/n", SDL_JoystickNumButtons(stick) );	Com_DPrintf( "Balls:      %d/n", SDL_JoystickNumBalls(stick) );	Com_DPrintf( "Use Analog: %s/n", in_joystickUseAnalog->integer ? "Yes" : "No" );	Com_DPrintf( "Threshold: %f/n", in_joystickThreshold->value );	SDL_JoystickEventState(SDL_QUERY);}
开发者ID:BruceJohnJennerLawso,项目名称:OpenJK,代码行数:72,


示例14: Com_Printf

/*============Cvar_Set2============*/cvar_t *Cvar_Set2( const char *var_name, const char *value, uint32_t defaultFlags, qboolean force ) {	cvar_t	*var;	if ( !Cvar_ValidateString( var_name ) ) {		Com_Printf("invalid cvar name string: %s/n", var_name );		var_name = "BADNAME";	}#if 0	// FIXME	if ( value && !Cvar_ValidateString( value ) ) {		Com_Printf("invalid cvar value string: %s/n", value );		var_value = "BADVALUE";	}#endif	var = Cvar_FindVar (var_name);	if (!var) {		if ( !value ) {			return NULL;		}		// create it		return Cvar_Get( var_name, value, defaultFlags );	}	if (!value ) {		value = var->resetString;	}	value = Cvar_Validate(var, value, qtrue);	if((var->flags & CVAR_LATCH) && var->latchedString)	{		if(!strcmp(value, var->string))		{			Cvar_FreeString(var->latchedString);			var->latchedString = NULL;			return var;		}		if(!strcmp(value, var->latchedString))			return var;	}	else if(!strcmp(value, var->string))		return var;	// note what types of cvars have been modified (userinfo, archive, serverinfo, systeminfo)	cvar_modifiedFlags |= var->flags;	if (!force)	{		if ( (var->flags & (CVAR_SYSTEMINFO|CVAR_SERVER_CREATED)) && com_sv_running && !com_sv_running->integer && CL_ConnectedToServer() )		{			Com_Printf ("%s can only be set by server./n", var_name);			return var;		}		if (var->flags & CVAR_ROM)		{			Com_Printf ("%s is read only./n", var_name);			return var;		}		if (var->flags & CVAR_INIT)		{			Com_Printf ("%s is write protected./n", var_name);			return var;		}		if (var->flags & CVAR_LATCH)		{			if (var->latchedString)			{				if (strcmp(value, var->latchedString) == 0)					return var;				Cvar_FreeString (var->latchedString);			}			else			{				if (strcmp(value, var->string) == 0)					return var;			}			Com_Printf ("%s will be changed upon restarting./n", var_name);			var->latchedString = CopyString(value);			var->modified = qtrue;			var->modificationCount++;			return var;		}		if ( (var->flags & CVAR_CHEAT) && !cvar_cheats->integer )		{			Com_Printf ("%s is cheat protected./n", var_name);			return var;		}	}//.........这里部分代码省略.........
开发者ID:LuisMars,项目名称:OpenJK,代码行数:101,


示例15: Com_Printf

/*============Cvar_Set2============*/cvar_t *Cvar_Set2( const char *var_name, const char *value, qboolean force ) {	cvar_t	*var;	if ( !Cvar_ValidateString( var_name ) ) {		Com_Printf("invalid cvar name string: %s/n", var_name );		var_name = "BADNAME";	}#if 0	// FIXME	if ( value && !Cvar_ValidateString( value ) ) {		Com_Printf("invalid cvar value string: %s/n", value );		var_value = "BADVALUE";	}#endif	var = Cvar_FindVar (var_name);	if (!var) {		if ( !value ) {			return NULL;		}		// create it		if ( !force ) {			return Cvar_Get( var_name, value, CVAR_USER_CREATED );		} else {			return Cvar_Get (var_name, value, 0);		}	}	// Dont display the update when its internal	if ( !(var->flags & CVAR_INTERNAL) )	{		Com_DPrintf( "Cvar_Set2: %s %s/n", var_name, value );	}	if (!value ) {		value = var->resetString;	}	if (!strcmp(value,var->string)) {		return var;	}	// note what types of cvars have been modified (userinfo, archive, serverinfo, systeminfo)	cvar_modifiedFlags |= var->flags;	if (!force)	{		if (var->flags & CVAR_ROM)		{			Com_Printf ("%s is read only./n", var_name);			return var;		}		if (var->flags & CVAR_INIT)		{			Com_Printf ("%s is write protected./n", var_name);			return var;		}		if (var->flags & CVAR_LATCH)		{			if (var->latchedString)			{				if (strcmp(value, var->latchedString) == 0)					return var;				Z_Free (var->latchedString);			}			else			{				if (strcmp(value, var->string) == 0)					return var;			}			Com_Printf ("%s will be changed upon restarting./n", var_name);			var->latchedString = CopyString(value);			var->modified = qtrue;			var->modificationCount++;			return var;		}		if ( (var->flags & CVAR_CHEAT) && !cvar_cheats->integer )		{			Com_Printf ("%s is cheat protected./n", var_name);			return var;		}	}	else	{		if (var->latchedString)		{			Z_Free (var->latchedString);			var->latchedString = NULL;		}	}//.........这里部分代码省略.........
开发者ID:blaenk,项目名称:jedioutcast,代码行数:101,


示例16: Netchan_Init

/*===============Netchan_Init===============*/void Netchan_Init( int port ) {	port &= 0xffff;	showpackets = Cvar_Get ("showpackets", "0", CVAR_TEMP );	showdrop = Cvar_Get ("showdrop", "0", CVAR_TEMP );	qport = Cvar_Get ("net_qport", va("%i", port), CVAR_INIT );}
开发者ID:AHPlankton,项目名称:Quake-III-Arena,代码行数:12,


示例17: SNDDMA_Init

/*===============SNDDMA_Init===============*/qboolean SNDDMA_Init(void){	SDL_AudioSpec desired;	SDL_AudioSpec obtained;	const char    *driver_name;	const char	  *device_name;	int           tmp;	if (snd_inited)	{		return qtrue;	}	Cmd_AddCommand("sndlist", SND_DeviceList);	// before rc 2 we have had own s_sdl_ cvars to set this	// changed back to use genuine cvar names	// - it's more compatible when existing profiles are used	// - we don't have to touch menu & ui to make speed/khz work (uses s_khz!)	s_bits        = Cvar_Get("s_bits", "16", CVAR_LATCH | CVAR_ARCHIVE);	s_khz         = Cvar_Get("s_khz", "44", CVAR_LATCH | CVAR_ARCHIVE);	s_sdlChannels = Cvar_Get("s_channels", "2", CVAR_LATCH | CVAR_ARCHIVE);	s_sdlDevSamps = Cvar_Get("s_sdlDevSamps", "0", CVAR_LATCH | CVAR_ARCHIVE);	s_sdlMixSamps = Cvar_Get("s_sdlMixSamps", "0", CVAR_LATCH | CVAR_ARCHIVE);	s_device = Cvar_Get("s_device", "-1", CVAR_LATCH | CVAR_ARCHIVE);	Com_Printf("SDL_Init( SDL_INIT_AUDIO )... ");	if (!SDL_WasInit(SDL_INIT_AUDIO))	{		if (SDL_Init(SDL_INIT_AUDIO) < 0)		{			Com_Printf("FAILED (%s)/n", SDL_GetError());			return qfalse;		}	}	Com_Printf("OK/n");	driver_name = SDL_GetCurrentAudioDriver();	if (driver_name)	{		Com_Printf("SDL audio driver is /"%s/"./n", driver_name);	}	else	{		Com_Printf("SDL audio driver isn't initialized./n");	}	memset(&desired, '/0', sizeof(desired));	memset(&obtained, '/0', sizeof(obtained));	tmp = ((int) s_bits->value);	if ((tmp != 16) && (tmp != 8))	{		tmp = 16;	}	desired.freq = (int) s_khz->value * 1000; // desired freq expects Hz not kHz	if (!desired.freq)	{		desired.freq = 22050;	}	// dirty correction for profile values	if (desired.freq == 11000)	{		desired.freq = 11025;	}	else if (desired.freq == 22000)	{		desired.freq = 22050;	}	else if (desired.freq == 44000)	{		desired.freq = 44100;	}	else	{		desired.freq = 22050;	}	desired.format = ((tmp == 16) ? AUDIO_S16SYS : AUDIO_U8);	// I dunno if this is the best idea, but I'll give it a try...	//  should probably check a cvar for this...	if (s_sdlDevSamps->value)	{		desired.samples = s_sdlDevSamps->value;	}	else	{		// just pick a sane default.//.........这里部分代码省略.........
开发者ID:raedwulf,项目名称:etlegacy,代码行数:101,


示例18: Cvar_FindVar

/*============Cvar_Set2============*/cvar_t *Cvar_Set2 (char *var_name, char *value, qboolean force){	cvar_t	*var;	var = Cvar_FindVar (var_name);	if (!var)	{	// create it		return Cvar_Get (var_name, value, 0);	}	if (var->flags & (CVAR_USERINFO | CVAR_SERVERINFO))	{		if (!Cvar_InfoValidate (value))		{			Com_Printf("invalid info cvar value/n");			return var;		}	}	if (!force)	{		if (var->flags & CVAR_NOSET)		{			Com_Printf ("%s is write protected./n", var_name);			return var;		}		if (var->flags & CVAR_LATCH)		{			if (var->latched_string)			{				if (strcmp(value, var->latched_string) == 0)					return var;				Z_Free (var->latched_string);			}			else			{				if (strcmp(value, var->string) == 0)					return var;			}			if (Com_ServerState())			{				Com_Printf ("%s will be changed for next game./n", var_name);				var->latched_string = CopyString(value);			}			else			{				var->string = CopyString(value);				var->value = atof (var->string);				if (!strcmp(var->name, "game"))				{					FS_SetGamedir (var->string);					FS_ExecAutoexec ();				}			}			return var;		}	}	else	{		if (var->latched_string)		{			Z_Free (var->latched_string);			var->latched_string = NULL;		}	}	if (!strcmp(value, var->string))		return var;		// not changed	var->modified = true;	if (var->flags & CVAR_USERINFO)		userinfo_modified = true;	// transmit at next oportunity		Z_Free (var->string);	// free the old value string		var->string = CopyString(value);	var->value = atof (var->string);	return var;}
开发者ID:TechnoCrunch,项目名称:dxquake2,代码行数:88,


示例19: GLimp_SetGamma

void GLimp_SetGamma(float gamma){#if FIND_GAMMA	EXEC_ONCE(appWPrintf("Find gamma mode!/n"));	float	a, b;			// y = ax + b	a = Cvar_Get("a","1")->value;#	if !FIND_GAMMA2	b = Cvar_Get("b","0.5")->value;#	else	b = Cvar_Get("b","-0.5")->value;#	endif#endif	if (!gammaStored) return;	gamma = bound(gamma, 0.5, 3);	float contr = bound(r_contrast->value, 0.1, 2);	float bright = bound(r_brightness->value, 0.1, 2);	float invGamma = 1.0f / gamma;	float overbright = gl_config.overbright + 1;	for (int i = 0; i < 256; i++)	{#if 0		float tmp = (i / 255.0f * overbright - 0.5f) * contr + 0.5f;		if (tmp < 0) tmp = 0;					// without this, can get semi-negative picture when r_gamma=0.5 (invGamma=2, sqr func)		int v = appRound(65535.0f * (pow(tmp, invGamma) + bright - 1));#else		// taken from UT2003		// note: ut_br = br-0.5, ut_contr = contr-0.5 (replace later: norm. bright=0.5, contr=0.5) !!		float tmp = pow(i * overbright / 255.0f, invGamma) * contr * 65535;		tmp = tmp + (bright - 1) * 32768 - (contr - 0.5) * 32768 + 16384;		int v = appRound(tmp);#endif		if (GIsWin2K)		{			// Win2K/XP performs checking of gamma ramp and may reject it#if !FIND_GAMMA			// clamp gamma curve with line 'y=x*GAMMA_ANGLE+GAMMA_OFFSET'#define GAMMA_ANGLE		1#define GAMMA_OFFSET	0.5			int m = i * (GAMMA_ANGLE*256) + (int)(GAMMA_OFFSET*65536);			if (v > m) v = m;#define GAMMA_ANGLE2	1#define GAMMA_OFFSET2	-0.5			m = i * (GAMMA_ANGLE2*256) + (int)(GAMMA_OFFSET2*65536);			if (v < m) v = m;#else // FIND_GAMMA#	if !FIND_GAMMA2			int m = appRound(i * a * 256 + b * 65535);			if (v > m) v = m;#	else			int m = appRound(i * a * 256 + b * 65535);			if (v < m) v = m;#	endif#endif // FIND_GAMMA		}		v = bound(v, 0, 65535);		newGamma[i] = newGamma[i+256] = newGamma[i+512] = v;	}	gammaValid = true;	UpdateGamma();}
开发者ID:RkShaRkz,项目名称:Quake2,代码行数:65,


示例20: SV_Init

void SV_Init (void) {	SV_AddOperatorCommands ();	// serverinfo vars	Cvar_Get ("dmflags", "0", CVAR_SERVERINFO);	Cvar_Get ("fraglimit", "20", CVAR_SERVERINFO);	Cvar_Get ("timelimit", "0", CVAR_SERVERINFO);	sv_gametype = Cvar_Get ("g_gametype", "0", CVAR_SERVERINFO | CVAR_LATCH );	Cvar_Get ("sv_keywords", "", CVAR_SERVERINFO);	Cvar_Get ("protocol", va("%i", PROTOCOL_VERSION), CVAR_SERVERINFO | CVAR_ROM);	sv_mapname = Cvar_Get ("mapname", "nomap", CVAR_SERVERINFO | CVAR_ROM);	sv_privateClients = Cvar_Get ("sv_privateClients", "0", CVAR_SERVERINFO);	sv_hostname = Cvar_Get ("sv_hostname", "noname", CVAR_SERVERINFO | CVAR_ARCHIVE );	sv_maxclients = Cvar_Get ("sv_maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH);	sv_maxRate = Cvar_Get ("sv_maxRate", "0", CVAR_ARCHIVE | CVAR_SERVERINFO );	sv_minPing = Cvar_Get ("sv_minPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO );	sv_maxPing = Cvar_Get ("sv_maxPing", "0", CVAR_ARCHIVE | CVAR_SERVERINFO );	sv_floodProtect = Cvar_Get ("sv_floodProtect", "1", CVAR_ARCHIVE | CVAR_SERVERINFO );	// systeminfo	Cvar_Get ("sv_cheats", "1", CVAR_SYSTEMINFO | CVAR_ROM );	sv_serverid = Cvar_Get ("sv_serverid", "0", CVAR_SYSTEMINFO | CVAR_ROM );#ifndef DLL_ONLY // bk010216 - for DLL-only servers	sv_pure = Cvar_Get ("sv_pure", "1", CVAR_SYSTEMINFO );#else	sv_pure = Cvar_Get ("sv_pure", "0", CVAR_SYSTEMINFO | CVAR_INIT | CVAR_ROM );#endif	Cvar_Get ("sv_paks", "", CVAR_SYSTEMINFO | CVAR_ROM );	Cvar_Get ("sv_pakNames", "", CVAR_SYSTEMINFO | CVAR_ROM );	Cvar_Get ("sv_referencedPaks", "", CVAR_SYSTEMINFO | CVAR_ROM );	Cvar_Get ("sv_referencedPakNames", "", CVAR_SYSTEMINFO | CVAR_ROM );	// server vars	sv_rconPassword = Cvar_Get ("rconPassword", "", CVAR_TEMP );	sv_privatePassword = Cvar_Get ("sv_privatePassword", "", CVAR_TEMP );	sv_fps = Cvar_Get ("sv_fps", "20", CVAR_TEMP );	sv_timeout = Cvar_Get ("sv_timeout", "200", CVAR_TEMP );	sv_zombietime = Cvar_Get ("sv_zombietime", "2", CVAR_TEMP );	Cvar_Get ("nextmap", "", CVAR_TEMP );	sv_allowDownload = Cvar_Get ("sv_allowDownload", "0", CVAR_SERVERINFO);	sv_master[0] = Cvar_Get ("sv_master1", MASTER_SERVER_NAME, 0 );	sv_master[1] = Cvar_Get ("sv_master2", "", CVAR_ARCHIVE );	sv_master[2] = Cvar_Get ("sv_master3", "", CVAR_ARCHIVE );	sv_master[3] = Cvar_Get ("sv_master4", "", CVAR_ARCHIVE );	sv_master[4] = Cvar_Get ("sv_master5", "", CVAR_ARCHIVE );	sv_reconnectlimit = Cvar_Get ("sv_reconnectlimit", "3", 0);	sv_showloss = Cvar_Get ("sv_showloss", "0", 0);	sv_padPackets = Cvar_Get ("sv_padPackets", "0", 0);	sv_killserver = Cvar_Get ("sv_killserver", "0", 0);	sv_mapChecksum = Cvar_Get ("sv_mapChecksum", "", CVAR_ROM);	sv_lanForceRate = Cvar_Get ("sv_lanForceRate", "1", CVAR_ARCHIVE );	sv_strictAuth = Cvar_Get ("sv_strictAuth", "1", CVAR_ARCHIVE );	// initialize bot cvars so they are listed and can be set before loading the botlib	SV_BotInitCvars();	// init the botlib here because we need the pre-compiler in the UI	SV_BotInitBotLib();}
开发者ID:AHPlankton,项目名称:Quake-III-Arena,代码行数:61,


示例21: IN_Init

/*===========IN_Init===========*/void IN_Init (void){	// mouse variables	m_filter				= Cvar_Get ("m_filter",					"0",		0);    in_mouse				= Cvar_Get ("in_mouse",					"1",		CVAR_ARCHIVE);	// joystick variables	in_joystick				= Cvar_Get ("in_joystick",				"0",		CVAR_ARCHIVE);	joy_name				= Cvar_Get ("joy_name",					"joystick",	0);	joy_advanced			= Cvar_Get ("joy_advanced",				"0",		0);	joy_advaxisx			= Cvar_Get ("joy_advaxisx",				"0",		0);	joy_advaxisy			= Cvar_Get ("joy_advaxisy",				"0",		0);	joy_advaxisz			= Cvar_Get ("joy_advaxisz",				"0",		0);	joy_advaxisr			= Cvar_Get ("joy_advaxisr",				"0",		0);	joy_advaxisu			= Cvar_Get ("joy_advaxisu",				"0",		0);	joy_advaxisv			= Cvar_Get ("joy_advaxisv",				"0",		0);	joy_forwardthreshold	= Cvar_Get ("joy_forwardthreshold",		"0.15",		0);	joy_sidethreshold		= Cvar_Get ("joy_sidethreshold",		"0.15",		0);	joy_upthreshold  		= Cvar_Get ("joy_upthreshold",			"0.15",		0);	joy_pitchthreshold		= Cvar_Get ("joy_pitchthreshold",		"0.15",		0);	joy_yawthreshold		= Cvar_Get ("joy_yawthreshold",			"0.15",		0);	joy_forwardsensitivity	= Cvar_Get ("joy_forwardsensitivity",	"-1",		0);	joy_sidesensitivity		= Cvar_Get ("joy_sidesensitivity",		"-1",		0);	joy_upsensitivity		= Cvar_Get ("joy_upsensitivity",		"-1",		0);	joy_pitchsensitivity	= Cvar_Get ("joy_pitchsensitivity",		"1",		0);	joy_yawsensitivity		= Cvar_Get ("joy_yawsensitivity",		"-1",		0);	// centering	v_centermove			= Cvar_Get ("v_centermove",				"0.15",		0);	v_centerspeed			= Cvar_Get ("v_centerspeed",			"500",		0);	Cmd_AddCommand ("+mlook", IN_MLookDown);	Cmd_AddCommand ("-mlook", IN_MLookUp);	Cmd_AddCommand ("joy_advancedupdate", Joy_AdvancedUpdate_f);	IN_StartupMouse ();	IN_StartupJoystick ();}
开发者ID:kytulendu,项目名称:Quake-2,代码行数:44,


示例22: CM_TracePointThroughPatchCollide

/** * @brief Special case for point traces because the patch collide "brushes" have no volume * @param[in,out] tw * @param[in] pc */void CM_TracePointThroughPatchCollide(traceWork_t *tw, const struct patchCollide_s *pc){	qboolean           frontFacing[MAX_PATCH_PLANES];	float              intersection[MAX_PATCH_PLANES];	float              intersect;	const patchPlane_t *planes;	const facet_t      *facet;	unsigned int       i;	int                j, k;	float              offset;	float              d1, d2;	static cvar_t      *cv;	if (!cm_playerCurveClip->integer && !tw->isPoint)	{		return;     // FIXME: until I get player sized clipping working right	}	// determine the trace's relationship to all planes	planes = pc->planes;	for (i = 0 ; i < pc->numPlanes ; i++, planes++)	{		offset = DotProduct(tw->offsets[planes->signbits], planes->plane);		d1     = DotProduct(tw->start, planes->plane) - planes->plane[3] + offset;		d2     = DotProduct(tw->end, planes->plane) - planes->plane[3] + offset;		if (d1 <= 0)		{			frontFacing[i] = qfalse;		}		else		{			frontFacing[i] = qtrue;		}		if (d1 == d2)		{			intersection[i] = 99999;		}		else		{			intersection[i] = d1 / (d1 - d2);			if (intersection[i] <= 0)			{				intersection[i] = 99999;			}		}	}	// see if any of the surface planes are intersected	facet = pc->facets;	for (i = 0 ; i < pc->numFacets ; i++, facet++)	{		if (!frontFacing[facet->surfacePlane])		{			continue;		}		intersect = intersection[facet->surfacePlane];		if (intersect < 0)		{			continue;       // surface is behind the starting point		}		if (intersect > tw->trace.fraction)		{			continue;       // already hit something closer		}		for (j = 0 ; j < facet->numBorders ; j++)		{			k = facet->borderPlanes[j];			if (frontFacing[k] ^ facet->borderInward[j])			{				if (intersection[k] > intersect)				{					break;				}			}			else			{				if (intersection[k] < intersect)				{					break;				}			}		}		if (j == facet->numBorders)		{			// we hit this facet			if (!cv)			{				cv = Cvar_Get("r_debugSurfaceUpdate", "1", 0);			}			if (cv->integer)			{				debugPatchCollide = pc;				debugFacet        = facet;			}			planes = &pc->planes[facet->surfacePlane];//.........这里部分代码省略.........
开发者ID:etlegacy,项目名称:etlegacy,代码行数:101,


示例23: IN_StartupJoystick

/*===============IN_StartupJoystick===============*/void IN_StartupJoystick (void){	int			numdevs;	JOYCAPS		jc;	MMRESULT	mmr;	cvar_t		*cv; 	// assume no joystick	joy_avail = false;	// abort startup if user requests no joystick	cv = Cvar_Get ("in_initjoy", "1", CVAR_NOSET);	if ( !cv->value )		return;	// verify joystick driver is present	if ((numdevs = joyGetNumDevs ()) == 0)	{//		Com_Printf ("/njoystick not found -- driver not present/n/n");		return;	}	// cycle through the joystick ids for the first valid one	for (joy_id=0 ; joy_id<numdevs ; joy_id++)	{		memset (&ji, 0, sizeof(ji));		ji.dwSize = sizeof(ji);		ji.dwFlags = JOY_RETURNCENTERED;		if ((mmr = joyGetPosEx (joy_id, &ji)) == JOYERR_NOERROR)			break;	}	// abort startup if we didn't find a valid joystick	if (mmr != JOYERR_NOERROR)	{		Com_Printf ("/njoystick not found -- no valid joysticks (%x)/n/n", mmr);		return;	}	// get the capabilities of the selected joystick	// abort startup if command fails	memset (&jc, 0, sizeof(jc));	if ((mmr = joyGetDevCaps (joy_id, &jc, sizeof(jc))) != JOYERR_NOERROR)	{		Com_Printf ("/njoystick not found -- invalid joystick capabilities (%x)/n/n", mmr);		return;	}	// save the joystick's number of buttons and POV status	joy_numbuttons = jc.wNumButtons;	joy_haspov = jc.wCaps & JOYCAPS_HASPOV;	// old button and POV states default to no buttons pressed	joy_oldbuttonstate = joy_oldpovstate = 0;	// mark the joystick as available and advanced initialization not completed	// this is needed as cvars are not available during initialization	joy_avail = true;	joy_advancedinit = false;	Com_Printf ("/njoystick detected/n/n");}
开发者ID:kytulendu,项目名称:Quake-2,代码行数:69,


示例24: CM_DrawDebugSurface

/** * @brief Called from the renderer */void CM_DrawDebugSurface(void (*drawPoly)(int color, int numPoints, float *points)){	static cvar_t        *cv;	static cvar_t        *cv2;	const patchCollide_t *pc;	facet_t              *facet;	winding_t            *w;	unsigned int         i;	int                  j, k, n;	int                  curplanenum, planenum, curinward, inward;	float                plane[4];	vec3_t               mins = { -15, -15, -28 }, maxs = { 15, 15, 28 };	vec3_t               v1, v2;	if (!cv2)	{		cv2 = Cvar_Get("r_debugSurface", "0", 0);	}	if (cv2->integer != 1)	{		// TODO: remove in sv_bot.c		//BotDrawDebugPolygons(drawPoly, cv2->integer);		return;	}	if (!debugPatchCollide)	{		return;	}	if (!cv)	{		cv = Cvar_Get("cm_debugSize", "2", 0);	}	pc = debugPatchCollide;	for (i = 0, facet = pc->facets ; i < pc->numFacets ; i++, facet++)	{		for (k = 0 ; k < facet->numBorders + 1; k++)		{			if (k < facet->numBorders)			{				planenum = facet->borderPlanes[k];				inward   = facet->borderInward[k];			}			else			{				planenum = facet->surfacePlane;				inward   = qfalse;				//continue;			}			Vector4Copy(pc->planes[planenum].plane, plane);			// planenum = facet->surfacePlane;			if (inward)			{				VectorSubtract(vec3_origin, plane, plane);				plane[3] = -plane[3];			}			plane[3] += cv->value;			//*			for (n = 0; n < 3; n++)			{				if (plane[n] > 0)				{					v1[n] = maxs[n];				}				else				{					v1[n] = mins[n];				}			} //end for			VectorNegate(plane, v2);			plane[3] += Q_fabs(DotProduct(v1, v2));			//*/			w = BaseWindingForPlane(plane, plane[3]);			for (j = 0 ; j < facet->numBorders + 1 && w; j++)			{				if (j < facet->numBorders)				{					curplanenum = facet->borderPlanes[j];					curinward   = facet->borderInward[j];				}				else				{					curplanenum = facet->surfacePlane;					curinward   = qfalse;					//continue;				}				if (curplanenum == planenum)				{					continue;//.........这里部分代码省略.........
开发者ID:etlegacy,项目名称:etlegacy,代码行数:101,


示例25: 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:LoudHoward,项目名称:Quake3,代码行数:101,


示例26: NET_Socket

/* * ==================== NET_Socket ==================== */intNET_Socket(char *net_interface, int port, netsrc_t type, int family){	char		Buf[BUFSIZ], *Host, *Service;	int		newsocket , Error;	struct sockaddr_storage ss;	struct addrinfo	hints, *res, *ai;	qboolean	_true = true;	int		i = 1;#ifdef IPV6_BINDV6ONLY	int		dummy;#endif	struct ipv6_mreq mreq;	cvar_t         *mcast;	memset(&hints, 0, sizeof(hints));	hints.ai_family = family;	hints.ai_socktype = SOCK_DGRAM;	hints.ai_protocol = IPPROTO_UDP;	hints.ai_flags = AI_PASSIVE;	if (!net_interface || !net_interface[0] || !stricmp(net_interface, "localhost"))		Host = (family == AF_INET6) ? "::" : "0.0.0.0";	else		Host = net_interface;	if (port == PORT_ANY)		Service = NULL;	else {		Com_sprintf(Buf, sizeof(Buf), "%5d", port);		Service = Buf;	}	if ((Error = getaddrinfo(Host, Service, &hints, &res))) {		/*		 * Com_Printf("NET_Socket: getaddrinfo: %s/n", gai_strerror		 * (Error));		 */		return 0;	}	for (ai = res; ai != NULL; ai = ai->ai_next) {		if ((newsocket = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol)) == -1) {			Com_Printf("NET_Socket: socket: %s/n", strerror(errno));			continue;		}		/* make it non-blocking */		if (ioctl(newsocket, FIONBIO, (char *)&_true) == -1) {			Com_Printf("NET_Socket: ioctl FIONBIO: %s/n", strerror(errno));			continue;		}#ifdef IPV6_BINDV6ONLY		if (family == AF_INET6)			if (setsockopt(newsocket, IPPROTO_IPV6, IPV6_BINDV6ONLY, &dummy,			    sizeof(dummy)) < 0) {				Com_Printf("NET_Socket: setsockopt IPV6_BINDV6ONLY: %s/n", strerror(errno));			}#endif		if (family == AF_INET) {			/* make it broadcast capable */			if (setsockopt(newsocket, SOL_SOCKET, SO_BROADCAST, (char *)&i, sizeof(i)) == -1) {				Com_Printf("ERROR: NET_Socket: setsockopt SO_BROADCAST:%s/n", NET_ErrorString());				return 0;			}		}		if (bind(newsocket, ai->ai_addr, ai->ai_addrlen) < 0) {			Com_Printf("NET_Socket: bind: %s/n", strerror(errno));		} else {			memcpy(&ss, ai->ai_addr, ai->ai_addrlen);			break;		}	}	if (res != NULL)		freeaddrinfo(res);	if (ai == NULL)		return 0;	switch (ss.ss_family) {	case AF_INET:		break;	case AF_INET6:		/*		 * Multicast outgoing interface is specified for client and		 * server (+set multicast <ifname>)		 */		mcast = Cvar_Get("multicast", "NULL", CVAR_NOSET);		multicast_interface = (strcmp(mcast->string, "NULL") ? mcast->string : NULL);		if (multicast_interface != NULL) {//.........这里部分代码省略.........
开发者ID:ZwS,项目名称:qudos,代码行数:101,



注:本文中的Cvar_Get函数示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


C++ Cvar_InfoString函数代码示例
C++ Cvar_FullSet函数代码示例
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。