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

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

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

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

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

示例1: FS_SetGamedir

/*================FS_SetGamedirSets the gamedir and path to a different directory.================*/void FS_SetGamedir (const char *dir){	searchpath_t	*next;	if (strstr(dir, "..") || strchr(dir, '/')		|| strchr(dir, '//') || strchr(dir, ':') )	{		Com_Printf ("Gamedir '%s' should be a single filename, not a path/n", LOG_GENERAL, dir);		return;	}	//	// free up any current game dir info	//	while (fs_searchpaths != fs_base_searchpaths)	{		if (fs_searchpaths->pack)		{			fclose (fs_searchpaths->pack->h.handle);			//Z_Free (fs_searchpaths->pack->files);			rbdestroy (fs_searchpaths->pack->rb);			Z_Free (fs_searchpaths->pack);		}		next = fs_searchpaths->next;		Z_Free (fs_searchpaths);		fs_searchpaths = next;	}	//	// flush all data, so it will be forced to reload	//	FS_FlushCache();#ifndef DEDICATED_ONLY#ifndef NO_SERVER	if (!dedicated->intvalue)	{#endif		//Cbuf_AddText ("vid_restart/nsnd_restart/n");		Cmd_ExecuteString ("vid_restart");		Cmd_ExecuteString ("snd_restart");#ifndef NO_SERVER	}#endif#endif	if (!strcmp(dir,BASEDIRNAME) || (*dir == 0))	{		Com_sprintf (fs_gamedir, sizeof(fs_gamedir), "%s/%s", fs_basedir->string, BASEDIRNAME);		Cvar_FullSet ("gamedir", "", CVAR_SERVERINFO|CVAR_NOSET);		Cvar_FullSet ("game", "", CVAR_LATCH|CVAR_SERVERINFO);	}	else	{		Com_sprintf (fs_gamedir, sizeof(fs_gamedir), "%s/%s", fs_basedir->string, dir);		Cvar_FullSet ("gamedir", dir, CVAR_SERVERINFO|CVAR_NOSET);		FS_AddGameDirectory (va("%s/%s", fs_basedir->string, dir) );	}}
开发者ID:Slipyx,项目名称:r1q2,代码行数:67,


示例2: NET_Init

/*====================NET_Init====================*/void NET_Init (void){	char *ip = (*ps.params.ip) ? ps.params.ip : "0.0.0.0";	char port[64] = {0};	snprintf(port, sizeof(port), "%d", 	ps.params.port ? ps.params.port : QWFWD_DEFAULT_PORT);	if (*ps.params.ip) // if cmd line - force it, so we have priority over cfg		net_ip	 = Cvar_FullSet("net_ip", ip, CVAR_NOSET);	else		net_ip	 = Cvar_Get("net_ip",	  ip, CVAR_NOSET);	if (ps.params.port) // if cmd line - force it, so we have priority over cfg		net_port = Cvar_FullSet("net_port",	port, CVAR_NOSET);	else		net_port = Cvar_Get("net_port",		port, CVAR_NOSET);#ifdef _WIN32	{		WSADATA		winsockdata;		if (WSAStartup(MAKEWORD (2, 1), &winsockdata))			Sys_Error("WinSock initialization failed");	}#endif	if ((net_socket = NET_UDP_OpenSocket(net_ip->string, net_port->integer, true)) == INVALID_SOCKET)		Sys_Error("NET_Init: failed to initialize socket");	// init the message buffer	SZ_InitEx(&net_message, net_message_buffer, sizeof(net_message_buffer), false);	Sys_DPrintf("UDP Initialized/n");}
开发者ID:deurk,项目名称:qwfwd,代码行数:39,


示例3: map

/*==================SV_MapBackground_fSet background map (enable physics in menu)==================*/void SV_MapBackground_f( void ){	string	mapname;	int	flags;	if( Cmd_Argc() != 2 )	{		Msg( "Usage: map_background <mapname>/n" );		return;	}	if( sv.state == ss_active && !sv.background )	{		Msg( "SV_NewMap: can't set background map while game is active/n" );		return;	}	// hold mapname to other place	Q_strncpy( mapname, Cmd_Argv( 1 ), sizeof( mapname ));	flags = SV_MapIsValid( mapname, GI->sp_entity, NULL );	if(!( flags & MAP_IS_EXIST ))	{		Msg( "SV_NewMap: map %s doesn't exist/n", mapname );		return;	}	// background maps allow without spawnpoints (just throw warning)	if(!( flags & MAP_HAS_SPAWNPOINT ))		MsgDev( D_WARN, "SV_NewMap: map %s doesn't have a valid spawnpoint/n", mapname );	Q_strncpy( host.finalmsg, "", MAX_STRING );	SV_Shutdown( true );	NET_Config ( false ); // close network sockets	sv.background = true;	sv.loadgame = false; // set right state	// reset all multiplayer cvars	Cvar_FullSet( "coop", "0",  CVAR_LATCH );	Cvar_FullSet( "teamplay", "0",  CVAR_LATCH );	Cvar_FullSet( "deathmatch", "0",  CVAR_LATCH );	Cvar_FullSet( "maxplayers", "1", CVAR_LATCH );#ifndef _DEDICATED	SCR_BeginLoadingPlaque( true );#endif	SV_SpawnServer( mapname, NULL );	SV_LevelInit( mapname, NULL, NULL, false );	SV_ActivateServer ();}
开发者ID:Xash3DLinux,项目名称:xash3dlinux,代码行数:59,


示例4: FS_SetGamedir

/*================FS_SetGamedirSets the gamedir and path to a different directory.================*/void FS_SetGamedir(char *dir){	searchpath_t	*next;	if (strstr(dir, "..") || strstr(dir, "/")		|| strstr(dir, "//") || strstr(dir, ":"))	{		Com_Printf("Gamedir should be a single filename, not a path/n");		return;	}	//	// free up any current game dir info	//	while (fs_searchpaths != fs_base_searchpaths)	{		if (fs_searchpaths->pack)		{			fclose(fs_searchpaths->pack->handle);			Z_Free(fs_searchpaths->pack->files);			Z_Free(fs_searchpaths->pack);		}		next = fs_searchpaths->next;		Z_Free(fs_searchpaths);		fs_searchpaths = next;	}	//	// flush all data, so it will be forced to reload	//	if (dedicated && !dedicated->value)		Cbuf_AddText("vid_restart/nsnd_restart/n");	Com_sprintf(fs_gamedir, sizeof(fs_gamedir), "%s/%s", fs_basedir->string, dir);	if (!strcmp(dir, BASEDIRNAME) || (*dir == 0))	{		Cvar_FullSet("gamedir", "", CVAR_SERVERINFO | CVAR_NOSET);		Cvar_FullSet("game", "", CVAR_LATCH | CVAR_SERVERINFO);	}	else	{		Cvar_FullSet("gamedir", dir, CVAR_SERVERINFO | CVAR_NOSET);		if (fs_cddir->string[0])			FS_AddGameDirectory(va("%s/%s", fs_cddir->string, dir));		FS_AddGameDirectory(va("%s/%s", fs_basedir->string, dir));	}}
开发者ID:qbism,项目名称:qbq2,代码行数:55,


示例5: CL_StopPlayback

/*==============CL_StopPlaybackCalled when a demo file runs out, or the user starts a game==============*/void CL_StopPlayback( void ){	if( !cls.demoplayback ) return;	// release demofile	FS_Close( cls.demofile );	cls.demoplayback = false;	demo.framecount = 0;	cls.demofile = NULL;	cls.olddemonum = max( -1, cls.demonum - 1 );	Mem_Free( demo.directory.entries );	demo.directory.numentries = 0;	demo.directory.entries = NULL;	demo.entry = NULL;	cls.demoname[0] = '/0';	// clear demoname too	menu.globals->demoname[0] = '/0';	S_StopAllSounds();	S_StopBackgroundTrack();	if( !cls.changedemo )	{		// let game known about demo state			Cvar_FullSet( "cl_background", "0", CVAR_READ_ONLY );		cls.state = ca_disconnected;		cl.background = 0;		cls.demonum = -1;	}}
开发者ID:nekonomicon,项目名称:xash3d,代码行数:38,


示例6: Cvar_Set_f

/*============Cvar_Set_fAllows setting and defining of arbitrary cvars from console============*/void Cvar_Set_f (void){	int		c;	int		flags;	c = Cmd_Argc();	if (c != 3 && c != 4)	{		Com_Printf ("usage: set <variable> <value> [u / s]/n");		return;	}	if (c == 4)	{		if (!strcmp(Cmd_Argv(3), "u"))			flags = CVAR_USERINFO;		else if (!strcmp(Cmd_Argv(3), "s"))			flags = CVAR_SERVERINFO;		else		{			Com_Printf ("flags can only be 'u' or 's'/n");			return;		}		Cvar_FullSet (Cmd_Argv(1), Cmd_Argv(2), flags);	}	else		Cvar_Set (Cmd_Argv(1), Cmd_Argv(2));}
开发者ID:weimingtom,项目名称:quakesdl2,代码行数:35,


示例7: Cvar_Set_f

/** * @brief Allows setting and defining of arbitrary cvars from console */static void Cvar_Set_f (void){	const int c = Cmd_Argc();	if (c != 3 && c != 4) {		Com_Printf("Usage: %s <variable> <value> [u / s]/n", Cmd_Argv(0));		return;	}	if (c == 4) {		const char* arg = Cmd_Argv(3);		int flags = 0;		while (arg[0] != '/0') {			switch (arg[0]) {			case 'u':				flags |= CVAR_USERINFO;				break;			case 's':				flags |= CVAR_SERVERINFO;				break;			case 'a':				flags |= CVAR_ARCHIVE;				break;			default:				Com_Printf("invalid flags %c given/n", arg[0]);				break;			}			arg++;		}		Cvar_FullSet(Cmd_Argv(1), Cmd_Argv(2), flags);	} else {		Cvar_Set(Cmd_Argv(1), "%s", Cmd_Argv(2));	}}
开发者ID:drone-pl,项目名称:ufoai,代码行数:37,


示例8: Cvar_Switch_f

/** * @brief Allows switching boolean cvars between zero and not-zero from console */static void Cvar_Switch_f (void){	const int c = Cmd_Argc();	if (c != 2 && c != 3) {		Com_Printf("Usage: %s <variable> [u / s / a]/n", Cmd_Argv(0));		return;	}	if (c == 3) {		const char* arg = Cmd_Argv(2);		int flags = 0;		while (arg[0] != '/0') {			switch (arg[0]) {			case 'u':				flags |= CVAR_USERINFO;				break;			case 's':				flags |= CVAR_SERVERINFO;				break;			case 'a':				flags |= CVAR_ARCHIVE;				break;			default:				Com_Printf("invalid flags %c given/n", arg[0]);				break;			}			arg++;		}		Cvar_FullSet(Cmd_Argv(1), va("%i", !Cvar_GetInteger(Cmd_Argv(1))), flags);	} else {		Com_Printf("val: %i/n", Cvar_GetInteger(Cmd_Argv(1)));		Cvar_Set(Cmd_Argv(1), "%i", !Cvar_GetInteger(Cmd_Argv(1)));	}}
开发者ID:drone-pl,项目名称:ufoai,代码行数:38,


示例9: Cvar_SetWithFlag_f

static void Cvar_SetWithFlag_f( cvar_flag_t flag ){	if( Cmd_Argc() != 3 )	{		Com_Printf( "usage: %s <variable> <value>/n", Cmd_Argv( 0 ) );		return;	}	Cvar_FullSet( Cmd_Argv( 1 ), Cmd_Argv( 2 ), flag, qfalse );}
开发者ID:codetwister,项目名称:qfusion,代码行数:9,


示例10: SV_AntiCheat_ParseReady

static void SV_AntiCheat_ParseReady (void){	//SV_BroadcastPrintf (PRINT_HIGH, ANTICHEATMESSAGE " Anticheat server connection established. Please reconnect if you are using an anticheat-capable client./n");	anticheat_ready = true;	retryBackOff = DEFAULT_BACKOFF;	Com_Printf ("ANTICHEAT: Ready to serve anticheat clients./n", LOG_ANTICHEAT);	Cvar_FullSet ("anticheat", sv_require_anticheat->string, CVAR_SERVERINFO | CVAR_NOSET);}
开发者ID:Slipyx,项目名称:r1q2,代码行数:9,


示例11: SV_AntiCheat_Disconnect

void SV_AntiCheat_Disconnect (void){	if (!acSocket)		return;	closesocket (acSocket);	acSocket = 0;	retryTime = 0;	anticheat_ready = false;	ping_pending = false;	Cvar_FullSet ("anticheat", "0", CVAR_NOSET);}
开发者ID:Slipyx,项目名称:r1q2,代码行数:13,


示例12: Cvar_Set_f

/*============Cvar_Set_fAllows setting and defining of arbitrary cvars from console============*/static void Cvar_Set_f (void){	int		c;	int		flags;	c = Cmd_Argc();	//if (c != 3 && c != 4)	if (c < 3)	{		Com_Printf ("usage: set <variable> <value> [u / s] (line: set %s)/n", LOG_GENERAL, Cmd_Args());		return;	}	//r1: fixed so that 'set variable some thing' results in variable -> "some thing"	//so that set command can be used in aliases to set things with spaces without	//requring quotes.	if (!strcmp(Cmd_Argv(c-1), "u"))		flags = CVAR_USERINFO;	else if (!strcmp(Cmd_Argv(3), "s"))		flags = CVAR_SERVERINFO;	else		flags = 0;	if (flags)	{		/*char	string[2048];		int		i;		string[0] = 0;		for (i=2 ; i<c-1 ; i++)		{			strcat (string, Cmd_Argv(i));			if (i+1 != c-1)				strcat (string, " ");		}*/		//note, we don't do the above to get the full string since userinfo vars		//have to use same format as 3.20 (eg set undef $undef u should set undef "u")		//for q2admin and other userinfo checking mods.		Cvar_FullSet (Cmd_Argv(1), Cmd_Argv(2), flags);	}	else	{		Cvar_Set (Cmd_Argv(1), Cmd_Args2(2));	}}
开发者ID:turol,项目名称:webquake2,代码行数:56,


示例13: VID_StartupGamma

void VID_StartupGamma( void ){	// Device supports gamma anyway, but cannot do anything with it.	fs_offset_t	gamma_size;	byte	*savedGamma;	size_t	gammaTypeSize = sizeof(glState.stateRamp);	// init gamma ramp	Q_memset( glState.stateRamp, 0, gammaTypeSize);	// force to set cvar	Cvar_FullSet( "gl_ignorehwgamma", "1", CVAR_GLCONFIG );	glConfig.deviceSupportsGamma = false;	// even if supported!	BuildGammaTable( vid_gamma->value, vid_texgamma->value );	MsgDev( D_NOTE, "VID_StartupGamma: software gamma initialized/n" );}
开发者ID:Reedych,项目名称:xash3d,代码行数:17,


示例14: Sv_LoadMedia

/* * @brief Loads the map or demo file and populates the server-controlled "config * strings."  We hand off the entity string to the game module, which will * load the rest. */static void Sv_LoadMedia(const char *server, sv_state_t state) {	int32_t i, map_size;	strcpy(sv.name, server);	strcpy(sv.config_strings[CS_NAME], server);	if (state == SV_ACTIVE_DEMO) { // loading a demo		sv.models[0] = Cm_LoadBsp(NULL, &map_size);		sv.demo_file = Fs_OpenRead(va("demos/%s.dem", sv.name));		svs.spawn_count = 0;		Com_Print("  Loaded demo %s./n", sv.name);	} else { // loading a map		g_snprintf(sv.config_strings[CS_MODELS], MAX_QPATH, "maps/%s.bsp", sv.name);		sv.models[0] = Cm_LoadBsp(sv.config_strings[CS_MODELS], &map_size);		const char *dir = Fs_RealDir(sv.config_strings[CS_MODELS]);		if (g_str_has_suffix(dir, ".zip")) {			g_strlcpy(sv.config_strings[CS_ZIP], Basename(dir), MAX_QPATH);		}		for (i = 1; i < Cm_NumModels(); i++) {			char *s = sv.config_strings[CS_MODELS + i];			g_snprintf(s, MAX_QPATH, "*%d", i);			sv.models[i] = Cm_Model(s);		}		sv.state = SV_LOADING;		Sv_InitWorld();		svs.game->SpawnEntities(sv.name, Cm_EntityString());		Sv_CreateBaseline();		Com_Print("  Loaded map %s, %d entities./n", sv.name, svs.game->num_edicts);	}	g_snprintf(sv.config_strings[CS_BSP_SIZE], MAX_QPATH, "%i", map_size);	Cvar_FullSet("map_name", sv.name, CVAR_SERVER_INFO | CVAR_NO_SET);}
开发者ID:devilx4,项目名称:quake2world,代码行数:50,


示例15: CL_ClearState

/*=====================CL_ClearState=====================*/void CL_ClearState( void ){	S_StopAllSounds ();	CL_ClearEffects ();	CL_FreeEdicts ();	CL_ClearPhysEnts ();	// wipe the entire cl structure	Q_memset( &cl, 0, sizeof( cl ));	BF_Clear( &cls.netchan.message );	Q_memset( &clgame.fade, 0, sizeof( clgame.fade ));	Q_memset( &clgame.shake, 0, sizeof( clgame.shake ));	Cvar_FullSet( "cl_background", "0", CVAR_READ_ONLY );	cl.refdef.movevars = &clgame.movevars;	cl.maxclients = 1; // allow to drawing player in menu	Cvar_SetFloat( "scr_download", 0.0f );	Cvar_SetFloat( "scr_loading", 0.0f );	// restore real developer level	host.developer = host.old_developer;}
开发者ID:ShaunNoWay,项目名称:xash3d,代码行数:29,


示例16: Host_SetServerState

/*==================Host_SetServerState==================*/void Host_SetServerState( int state ){	Cvar_FullSet( "host_serverstate", va( "%i", state ), CVAR_INIT );}
开发者ID:ptitSeb,项目名称:xash3d,代码行数:9,


示例17: Host_InitCommon

//.........这里部分代码省略.........	host.change_game = bChangeGame;	host.state = HOST_INIT; // initialization started	host.developer = host.old_developer = 0;	host.textmode = false;	host.mempool = Mem_AllocPool( "Zone Engine" );	if( Sys_CheckParm( "-console" )) host.developer = 1;	if( Sys_CheckParm( "-dev" ))	{		if( Sys_GetParmFromCmdLine( "-dev", dev_level ))		{			if( Q_isdigit( dev_level ))				host.developer = abs( Q_atoi( dev_level ));			else host.developer++; // -dev == 1, -dev -console == 2		}		else host.developer++; // -dev == 1, -dev -console == 2	}#ifdef XASH_DEDICATED	host.type = HOST_DEDICATED; // predict state#else	if( Sys_CheckParm("-dedicated") || progname[0] == '#' )		 host.type = HOST_DEDICATED;	else host.type = HOST_NORMAL;#endif	host.con_showalways = true;	host.mouse_visible = false;#ifdef XASH_SDL	if( SDL_Init( SDL_INIT_TIMER | SDL_INIT_VIDEO | SDL_INIT_EVENTS ))	{		SDL_Init( SDL_INIT_TIMER );		host.type = HOST_DEDICATED;	}#endif	if ( SetCurrentDirectory( host.rootdir ) != 0)		MsgDev( D_INFO, "%s is working directory now/n", host.rootdir );	else		Sys_Error( "Changing working directory to %s failed./n", host.rootdir );	// set default gamedir	if( progname[0] == '#' ) progname++;	Q_strncpy( SI.ModuleName, progname, sizeof( SI.ModuleName ));	if( host.type == HOST_DEDICATED )	{		Sys_MergeCommandLine( );		if( host.developer < 3 ) host.developer = 3; // otherwise we see empty console	}	else	{		// don't show console as default		if( host.developer < D_WARN ) host.con_showalways = false;	}	host.old_developer = host.developer;	if( !Sys_CheckParm( "-nowcon" ) )		Con_CreateConsole();	// first text message into console or log 	MsgDev( D_NOTE, "Sys_LoadLibrary: Loading Engine Library - ok/n" );	// startup cmds and cvars subsystem	Cmd_Init();	Cvar_Init();	// share developer level across all dlls	Q_snprintf( dev_level, sizeof( dev_level ), "%i", host.developer );	Cvar_Get( "developer", dev_level, CVAR_INIT, "current developer level" );	Cmd_AddCommand( "exec", Host_Exec_f, "execute a script file" );	Cmd_AddCommand( "memlist", Host_MemStats_f, "prints memory pool information" );	Cmd_AddCommand( "userconfigd", Host_Userconfigd_f, "execute all scripts from userconfig.d" );	cmd_scripting = Cvar_Get( "cmd_scripting", "0", CVAR_ARCHIVE, "enable simple condition checking and variable operations" );		FS_Init();	Image_Init();	Sound_Init();	FS_LoadGameInfo( NULL );	Q_strncpy( host.gamefolder, GI->gamefolder, sizeof( host.gamefolder ));#if !(defined(PANDORA) || defined(RPI))	if( GI->secure )	{		// clear all developer levels when game is protected		Cvar_FullSet( "developer", "0", CVAR_INIT );		host.developer = host.old_developer = 0;		host.con_showalways = false;	}#endif	HPAK_Init();	IN_Init();	Key_Init();}
开发者ID:ptitSeb,项目名称:xash3d,代码行数:101,


示例18: CL_ParseServerData

/*==================CL_ParseServerData==================*/void CL_ParseServerData( sizebuf_t *msg ){	string	gamefolder;	qboolean	background;	int	i;	MsgDev( D_NOTE, "Serverdata packet received./n" );	cls.demowaiting = false;	// server is changed	clgame.load_sequence++;	// now all hud sprites are invalid	// wipe the client_t struct	if( !cls.changelevel && !cls.changedemo )		CL_ClearState ();	cls.state = ca_connected;	// parse protocol version number	i = BF_ReadLong( msg );	cls.serverProtocol = i;	if( i != PROTOCOL_VERSION )		Host_Error( "Server uses invalid protocol (%i should be %i)/n", i, PROTOCOL_VERSION );	cl.servercount = BF_ReadLong( msg );	cl.checksum = BF_ReadLong( msg );	cl.playernum = BF_ReadByte( msg );	cl.maxclients = BF_ReadByte( msg );	clgame.maxEntities = BF_ReadWord( msg );	clgame.maxEntities = bound( 600, clgame.maxEntities, 4096 );	Q_strncpy( clgame.mapname, BF_ReadString( msg ), MAX_STRING );	Q_strncpy( clgame.maptitle, BF_ReadString( msg ), MAX_STRING );	background = BF_ReadOneBit( msg );	Q_strncpy( gamefolder, BF_ReadString( msg ), MAX_STRING );	host.features = (uint)BF_ReadLong( msg );	if( cl.maxclients > 1 && host.developer < 1 )		host.developer++;	// set the background state	if( cls.demoplayback && ( cls.demonum != -1 ))	{		// re-init mouse		host.mouse_visible = false;		cl.background = true;	}	else cl.background = background;	if( cl.background )	// tell the game parts about background state		Cvar_FullSet( "cl_background", "1", CVAR_READ_ONLY );	else Cvar_FullSet( "cl_background", "0", CVAR_READ_ONLY );	if( !cls.changelevel ) 	{		// continue playing if we are changing level		S_StopBackgroundTrack ();	}#if 0	// NOTE: this is not tested as well. Use with precaution	CL_ChangeGame( gamefolder, false );#endif	if( !cls.changedemo )		UI_SetActiveMenu( cl.background );	cl.refdef.viewentity = cl.playernum + 1; // always keep viewent an actual	menu.globals->maxClients = cl.maxclients;	Q_strncpy( menu.globals->maptitle, clgame.maptitle, sizeof( menu.globals->maptitle ));	if( cl.maxclients > 1 && r_decals->value > mp_decals->value )		Cvar_SetFloat( "r_decals", mp_decals->value );	if( !cls.changelevel && !cls.changedemo )		CL_InitEdicts (); // re-arrange edicts	// get splash name	if( cls.demoplayback && ( cls.demonum != -1 ))		Cvar_Set( "cl_levelshot_name", va( "levelshots/%s_%s", cls.demoname, glState.wideScreen ? "16x9" : "4x3" ));	else Cvar_Set( "cl_levelshot_name", va( "levelshots/%s_%s", clgame.mapname, glState.wideScreen ? "16x9" : "4x3" ));	Cvar_SetFloat( "scr_loading", 0.0f ); // reset progress bar	if(( cl_allow_levelshots->integer && !cls.changelevel ) || cl.background )	{		if( !FS_FileExists( va( "%s.bmp", cl_levelshot_name->string ), true )) 			Cvar_Set( "cl_levelshot_name", "*black" ); // render a black screen		cls.scrshot_request = scrshot_plaque; // request levelshot even if exist (check filetime)	}	if( scr_dark->integer )	{		screenfade_t		*sf = &clgame.fade;		client_textmessage_t	*title;		title = CL_TextMessageGet( "GAMETITLE" );		if( title )//.........这里部分代码省略.........
开发者ID:Reedych,项目名称:xash3d,代码行数:101,


示例19: Host_Main

//.........这里部分代码省略.........	}	SV_Init();	CL_Init();	HTTP_Init();	// post initializations	switch( host.type )	{	case HOST_NORMAL:		Con_ShowConsole( false ); // hide console		// execute startup config and cmdline		Cbuf_AddText( va( "exec %s.rc/n", SI.ModuleName ));		// intentional fallthrough	case HOST_DEDICATED:		// if stuffcmds wasn't run, then init.rc is probably missing, use default		if( !host.stuffcmdsrun ) Cbuf_AddText( "stuffcmds/n" );		Cbuf_Execute();		break;	case HOST_UNKNOWN:		break;	}	if( host.type == HOST_DEDICATED )	{		char *defaultmap;		Con_InitConsoleCommands ();		Cmd_AddCommand( "quit", Sys_Quit, "quit the game" );		Cmd_AddCommand( "exit", Sys_Quit, "quit the game" );		SV_InitGameProgs();		Cbuf_AddText( "exec config.cfg/n" );		// dedicated servers are using settings from server.cfg file		Cbuf_AddText( va( "exec %s/n", Cvar_VariableString( "servercfgfile" )));		Cbuf_Execute();		defaultmap = Cvar_VariableString( "defaultmap" );		if( !defaultmap[0] )			Msg( "Please add /"defaultmap/" cvar with default map name to your server.cfg!/n" );		else			Cbuf_AddText( va( "map %s/n", defaultmap ));		Cvar_FullSet( "xashds_hacks", "0", CVAR_READ_ONLY );		NET_Config( true );	}	else	{		Cmd_AddCommand( "minimize", Host_Minimize_f, "minimize main window to taskbar" );		Cbuf_AddText( "exec config.cfg/n" );		// listenserver/multiplayer config.		// need load it to update menu options.		Cbuf_AddText( "exec game.cfg/n" );	}	host.errorframe = 0;	Cbuf_Execute();	host.change_game = false;	// done	Cmd_RemoveCommand( "setr" );	// remove potential backdoor for changing renderer settings	Cmd_RemoveCommand( "setgl" );	// we need to execute it again here	if( host.type != HOST_DEDICATED )		Cmd_ExecuteString( "exec config.cfg/n", src_command );	// exec all files from userconfig.d 	Host_Userconfigd_f();	oldtime = Sys_DoubleTime();	IN_TouchInitConfig();	SCR_CheckStartupVids();	// must be last#ifdef XASH_SDL	SDL_StopTextInput(); // disable text input event. Enable this in chat/console?#endif	if( host.state == HOST_INIT )		host.state = HOST_FRAME; // initialization is finished	// main window message loop	while( !host.crashed && !host.shutdown_issued )	{#ifdef XASH_SDL		while( !host.crashed && !host.shutdown_issued && SDL_PollEvent( &event ) )			SDLash_EventFilter( &event );#endif		newtime = Sys_DoubleTime ();		Host_Frame( newtime - oldtime );		oldtime = newtime;	}	// never reached	return 0;}
开发者ID:ptitSeb,项目名称:xash3d,代码行数:101,


示例20: SV_SpawnServer

/* * Change the server to a new map, taking all connected * clients along with it. */void SV_SpawnServer(char *server, char *spawnpoint, server_state_t serverstate, qboolean attractloop, qboolean loadgame){  int i;  unsigned checksum;  if (attractloop) {    Cvar_Set("paused", "0");  }  Com_Printf("Server init/n");  Com_DPrintf("SpawnServer: %s/n", server);  svs.spawncount++; /* any partially connected client will be restarted */  sv.state = ss_dead;  Com_SetServerState(sv.state);  /* wipe the entire per-level structure */  memset(&sv, 0, sizeof(sv));  svs.realtime = 0;  sv.loadgame = loadgame;  sv.attractloop = attractloop;  /* save name for levels that don't set message */  strcpy(sv.configstrings[CS_NAME], server);  if (Cvar_VariableValue("deathmatch")) {    sprintf(sv.configstrings[CS_AIRACCEL], "%g", sv_airaccelerate->value);    pm_airaccelerate = sv_airaccelerate->value;  } else {    strcpy(sv.configstrings[CS_AIRACCEL], "0");    pm_airaccelerate = 0;  }  SZ_Init(&sv.multicast, sv.multicast_buf, sizeof(sv.multicast_buf));  strcpy(sv.name, server);  /* leave slots at start for clients only */  for (i = 0; i < maxclients->value; i++) {    /* needs to reconnect */    if (svs.clients[i].state > cs_connected) {      svs.clients[i].state = cs_connected;    }    svs.clients[i].lastframe = -1;  }  sv.time = 1000;  strcpy(sv.name, server);  strcpy(sv.configstrings[CS_NAME], server);  if (serverstate != ss_game) {    sv.models[1] = CM_LoadMap("", false, &checksum); /* no real map */  } else {    Com_sprintf(sv.configstrings[CS_MODELS + 1], sizeof(sv.configstrings[CS_MODELS + 1]), "maps/%s.bsp", server);    sv.models[1] = CM_LoadMap(sv.configstrings[CS_MODELS + 1], false, &checksum);  }  Com_sprintf(sv.configstrings[CS_MAPCHECKSUM], sizeof(sv.configstrings[CS_MAPCHECKSUM]), "%i", checksum);  /* clear physics interaction links */  SV_ClearWorld();  for (i = 1; i < CM_NumInlineModels(); i++) {    Com_sprintf(sv.configstrings[CS_MODELS + 1 + i], sizeof(sv.configstrings[CS_MODELS + 1 + i]), "*%i", i);    sv.models[i + 1] = CM_InlineModel(sv.configstrings[CS_MODELS + 1 + i]);  }  /* spawn the rest of the entities on the map */  sv.state = ss_loading;  Com_SetServerState(sv.state);  /* load and spawn all other entities */  SpawnEntities(sv.name, CM_EntityString(), spawnpoint);  /* run two frames to allow everything to settle */  G_RunFrame();  G_RunFrame();  /* verify game didn't clobber important stuff */  if ((int) checksum != (int) strtol(sv.configstrings[CS_MAPCHECKSUM], (char **) NULL, 10)) {    Com_Error(ERR_DROP, "Game DLL corrupted server configstrings");  }  /* all precaches are complete */  sv.state = serverstate;  Com_SetServerState(sv.state);  /* create a baseline for more efficient communications */  SV_CreateBaseline();  /* set serverinfo variable */  Cvar_FullSet("mapname", sv.name, CVAR_SERVERINFO | CVAR_NOSET);}
开发者ID:greck2908,项目名称:qengine,代码行数:99,


示例21: SV_Map

/** * @brief Change the server to a new map, taking all connected clients along with it. * @note the full syntax is: @code map [day|night] [+]<map> [<assembly>] @endcode * @sa SV_AssembleMap * @sa CM_LoadMap * @sa Com_SetServerState */void SV_Map (qboolean day, const char *levelstring, const char *assembly){	int i;	unsigned checksum = 0;	char * map = SV_GetConfigString(CS_TILES);	char * pos = SV_GetConfigString(CS_POSITIONS);	mapInfo_t *randomMap = NULL;	client_t *cl;	/* any partially connected client will be restarted */	Com_SetServerState(ss_restart);	/* the game is just starting */	SV_InitGame();	if (!svs.initialized) {		Com_Printf("Could not spawn the server/n");		return;	}	assert(levelstring[0] != '/0');	Com_DPrintf(DEBUG_SERVER, "SpawnServer: %s/n", levelstring);	/* save name for levels that don't set message */	SV_SetConfigString(CS_NAME, levelstring);	SV_SetConfigString(CS_LIGHTMAP, day);	Q_strncpyz(sv->name, levelstring, sizeof(sv->name));	/* set serverinfo variable */	sv_mapname = Cvar_FullSet("sv_mapname", sv->name, CVAR_SERVERINFO | CVAR_NOSET);	/* notify the client in case of a listening server */	SCR_BeginLoadingPlaque();	if (assembly)		Q_strncpyz(sv->assembly, assembly, sizeof(sv->assembly));	else		sv->assembly[0] = '/0';	/* leave slots at start for clients only */	cl = NULL;	while ((cl = SV_GetNextClient(cl)) != NULL) {		/* needs to reconnect */		if (cl->state >= cs_spawning)			SV_SetClientState(cl, cs_connected);	}	/* assemble and load the map */	if (levelstring[0] == '+') {		randomMap = SV_AssembleMap(levelstring + 1, assembly, map, pos, 0);		if (!randomMap) {			Com_Printf("Could not load assembly for map '%s'/n", levelstring);			return;		}	} else {		SV_SetConfigString(CS_TILES, levelstring);		SV_SetConfigString(CS_POSITIONS, assembly ? assembly : "");	}	CM_LoadMap(map, day, pos, &sv->mapData, &sv->mapTiles);	Com_Printf("checksum for the map '%s': %u/n", levelstring, sv->mapData.mapChecksum);	SV_SetConfigString(CS_MAPCHECKSUM, sv->mapData.mapChecksum);	checksum = Com_GetScriptChecksum();	Com_Printf("ufo script checksum %u/n", checksum);	SV_SetConfigString(CS_UFOCHECKSUM, checksum);	SV_SetConfigString(CS_OBJECTAMOUNT, csi.numODs);	SV_SetConfigString(CS_VERSION, UFO_VERSION);	SV_SetConfigString(CS_MAPTITLE, SV_GetMapTitle(randomMap, levelstring));	if (Q_strstart(SV_GetConfigString(CS_MAPTITLE), "b/")) {		/* For base attack, CS_MAPTITLE contains too many chars */		SV_SetConfigString(CS_MAPTITLE, "Base attack");		SV_SetConfigString(CS_NAME, ".baseattack");	}	/* clear random-map assembly data */	Mem_Free(randomMap);	randomMap = NULL;	/* clear physics interaction links */	SV_ClearWorld();	/* fix this! */	for (i = 1; i <= sv->mapData.numInline; i++)		sv->models[i] = CM_InlineModel(&sv->mapTiles, va("*%i", i));	/* precache and static commands can be issued during map initialization */	Com_SetServerState(ss_loading);//.........这里部分代码省略.........
开发者ID:kevlund,项目名称:ufoai,代码行数:101,


示例22: SV_SpawnServer

//.........这里部分代码省略.........		fclose (sv.demofile);	svs.spawncount++;		// any partially connected client will be							// restarted	sv.state = ss_dead;	Com_SetServerState (sv.state);	// wipe the entire per-level structure	memset (&sv, 0, sizeof(sv));	svs.realtime = 0;	sv.loadgame = loadgame;	sv.attractloop = attractloop;	// save name for levels that don't set message	strcpy (sv.configstrings[CS_NAME], server);	if (Cvar_VariableValue ("deathmatch"))	{		sprintf(sv.configstrings[CS_AIRACCEL], "%g", sv_airaccelerate->value);		pm_airaccelerate = sv_airaccelerate->value;	}	else	{		strcpy(sv.configstrings[CS_AIRACCEL], "0");		pm_airaccelerate = 0;	}	SZ_Init (&sv.multicast, sv.multicast_buf, sizeof(sv.multicast_buf));	strcpy (sv.name, server);	// leave slots at start for clients only	for (i=0 ; i<maxclients->value ; i++)	{		// needs to reconnect		if (svs.clients[i].state > cs_connected)			svs.clients[i].state = cs_connected;		svs.clients[i].lastframe = -1;	}	sv.time = 1000;		strcpy (sv.name, server);	strcpy (sv.configstrings[CS_NAME], server);	if (serverstate != ss_game)	{		sv.models[1] = CM_LoadMap ("", false, &checksum);	// no real map	}	else	{		Com_sprintf (sv.configstrings[CS_MODELS+1],sizeof(sv.configstrings[CS_MODELS+1]),			"maps/%s.bsp", server);		sv.models[1] = CM_LoadMap (sv.configstrings[CS_MODELS+1], false, &checksum);	}	Com_sprintf (sv.configstrings[CS_MAPCHECKSUM],sizeof(sv.configstrings[CS_MAPCHECKSUM]),		"%i", checksum);	//	// clear physics interaction links	//	SV_ClearWorld ();		for (i=1 ; i< CM_NumInlineModels() ; i++)	{		Com_sprintf (sv.configstrings[CS_MODELS+1+i], sizeof(sv.configstrings[CS_MODELS+1+i]),			"*%i", i);		sv.models[i+1] = CM_InlineModel (sv.configstrings[CS_MODELS+1+i]);	}	//	// spawn the rest of the entities on the map	//		// precache and static commands can be issued during	// map initialization	sv.state = ss_loading;	Com_SetServerState (sv.state);	// load and spawn all other entities	ge->SpawnEntities ( sv.name, CM_EntityString(), spawnpoint );	// run two frames to allow everything to settle	ge->RunFrame ();	ge->RunFrame ();	// all precaches are complete	sv.state = serverstate;	Com_SetServerState (sv.state);		// create a baseline for more efficient communications	SV_CreateBaseline ();	// check for a savegame	SV_CheckForSavegame ();	// set serverinfo variable	Cvar_FullSet ("mapname", sv.name, CVAR_SERVERINFO | CVAR_NOSET);	Com_Printf ("-------------------------------------/n");}
开发者ID:1vanK,项目名称:Urho3DQuake2,代码行数:101,


示例23: SV_InitGame

/*==============SV_InitGameA brand new game has been started==============*/void SV_InitGame (void){	int		i;	edict_t	*ent;	char	idmaster[32];	if (svs.initialized)	{		// cause any connected clients to reconnect		SV_Shutdown ("Server restarted/n", true);	}	else	{		// make sure the client is down		CL_Drop ();		SCR_BeginLoadingPlaque ();	}	// get any latched variable changes (maxclients, etc)	Cvar_GetLatchedVars ();	svs.initialized = true;	if (Cvar_VariableValue ("coop") && Cvar_VariableValue ("deathmatch"))	{		Com_Printf("Deathmatch and Coop both set, disabling Coop/n");		Cvar_FullSet ("coop", "0",  CVAR_SERVERINFO | CVAR_LATCH);	}	// dedicated servers are can't be single player and are usually DM	// so unless they explicity set coop, force it to deathmatch	if (dedicated->value)	{		if (!Cvar_VariableValue ("coop"))			Cvar_FullSet ("deathmatch", "1",  CVAR_SERVERINFO | CVAR_LATCH);	}	// init clients	if (Cvar_VariableValue ("deathmatch"))	{		if (maxclients->value <= 1)			Cvar_FullSet ("maxclients", "8", CVAR_SERVERINFO | CVAR_LATCH);		else if (maxclients->value > MAX_CLIENTS)			Cvar_FullSet ("maxclients", va("%i", MAX_CLIENTS), CVAR_SERVERINFO | CVAR_LATCH);	}	else if (Cvar_VariableValue ("coop"))	{		if (maxclients->value <= 1 || maxclients->value > 4)			Cvar_FullSet ("maxclients", "4", CVAR_SERVERINFO | CVAR_LATCH);#ifdef COPYPROTECT		if (!sv.attractloop && !dedicated->value)			Sys_CopyProtect ();#endif	}	else	// non-deathmatch, non-coop is one player	{		Cvar_FullSet ("maxclients", "1", CVAR_SERVERINFO | CVAR_LATCH);#ifdef COPYPROTECT		if (!sv.attractloop)			Sys_CopyProtect ();#endif	}	svs.spawncount = rand();	svs.clients = Z_Malloc (sizeof(client_t)*maxclients->value);	svs.num_client_entities = maxclients->value*UPDATE_BACKUP*64;	svs.client_entities = Z_Malloc (sizeof(entity_state_t)*svs.num_client_entities);	// init network stuff	NET_Config ( (maxclients->value > 1) );	// heartbeats will always be sent to the id master	svs.last_heartbeat = -99999;		// send immediately	Com_sprintf(idmaster, sizeof(idmaster), "192.246.40.37:%i", PORT_MASTER);	NET_StringToAdr (idmaster, &master_adr[0]);	// init game	SV_InitGameProgs ();	for (i=0 ; i<maxclients->value ; i++)	{		ent = EDICT_NUM(i+1);		ent->s.number = i+1;		svs.clients[i].edict = ent;		memset (&svs.clients[i].lastcmd, 0, sizeof(svs.clients[i].lastcmd));	}}
开发者ID:1vanK,项目名称:Urho3DQuake2,代码行数:93,


示例24: GL_InitExtensions

//.........这里部分代码省略.........	// we don't care if it's an extension or not, they are identical functions, so keep it simple in the rendering code	if( pglDrawRangeElementsEXT == NULL ) pglDrawRangeElementsEXT = pglDrawRangeElements;	GL_CheckExtension( "GL_ARB_texture_env_add", NULL, "gl_texture_env_add", GL_TEXTURE_ENV_ADD_EXT );	// vp and fp shaders	GL_CheckExtension( "GL_ARB_shader_objects", shaderobjectsfuncs, "gl_shaderobjects", GL_SHADER_OBJECTS_EXT );	GL_CheckExtension( "GL_ARB_shading_language_100", NULL, "gl_glslprogram", GL_SHADER_GLSL100_EXT );	GL_CheckExtension( "GL_ARB_vertex_shader", vertexshaderfuncs, "gl_vertexshader", GL_VERTEX_SHADER_EXT );	GL_CheckExtension( "GL_ARB_fragment_shader", NULL, "gl_pixelshader", GL_FRAGMENT_SHADER_EXT );	GL_CheckExtension( "GL_ARB_depth_texture", NULL, "gl_depthtexture", GL_DEPTH_TEXTURE );	GL_CheckExtension( "GL_ARB_shadow", NULL, "gl_arb_shadow", GL_SHADOW_EXT );	GL_CheckExtension( "GL_ARB_texture_float", NULL, "gl_arb_texture_float", GL_ARB_TEXTURE_FLOAT_EXT );	GL_CheckExtension( "GL_ARB_depth_buffer_float", NULL, "gl_arb_depth_float", GL_ARB_DEPTH_FLOAT_EXT );	if( glw_state.extended )		GL_CheckExtension( "GL_ARB_debug_output", debugoutputfuncs, "gl_debug_output", GL_DEBUG_OUTPUT );	// occlusion queries	GL_CheckExtension( "GL_ARB_occlusion_query", occlusionfunc, "gl_occlusion_queries", GL_OCCLUSION_QUERIES_EXT );	if( GL_Support( GL_SHADER_GLSL100_EXT ))	{		pglGetIntegerv( GL_MAX_TEXTURE_COORDS_ARB, &glConfig.max_texture_coords );		pglGetIntegerv( GL_MAX_TEXTURE_IMAGE_UNITS_ARB, &glConfig.max_teximage_units );	}	else	{		// just get from multitexturing		glConfig.max_texture_coords = glConfig.max_teximage_units = glConfig.max_texture_units;	}	// rectangle textures support	if( Q_strstr( glConfig.extensions_string, "GL_NV_texture_rectangle" ))	{		glConfig.texRectangle = GL_TEXTURE_RECTANGLE_NV;		pglGetIntegerv( GL_MAX_RECTANGLE_TEXTURE_SIZE_NV, &glConfig.max_2d_rectangle_size );	}	else if( Q_strstr( glConfig.extensions_string, "GL_EXT_texture_rectangle" ))	{		glConfig.texRectangle = GL_TEXTURE_RECTANGLE_EXT;		pglGetIntegerv( GL_MAX_RECTANGLE_TEXTURE_SIZE_EXT, &glConfig.max_2d_rectangle_size );	}	else glConfig.texRectangle = glConfig.max_2d_rectangle_size = 0; // no rectangle	glConfig.max_2d_texture_size = 0;	pglGetIntegerv( GL_MAX_TEXTURE_SIZE, &glConfig.max_2d_texture_size );	if( glConfig.max_2d_texture_size <= 0 ) glConfig.max_2d_texture_size = 256;	Cvar_Get( "gl_max_texture_size", "0", CVAR_INIT, "opengl texture max dims" );	Cvar_Set( "gl_max_texture_size", va( "%i", glConfig.max_2d_texture_size ));	pglGetIntegerv( GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB, &glConfig.max_vertex_uniforms );	pglGetIntegerv( GL_MAX_VERTEX_ATTRIBS_ARB, &glConfig.max_vertex_attribs );	// MCD has buffering issues#ifdef _WIN32	if(Q_strstr( glConfig.renderer_string, "gdi" ))		Cvar_SetFloat( "gl_finish", 1 );#endif#ifdef XASH_GLES	Cvar_FullSet( "gl_allow_mirrors", "0", CVAR_READ_ONLY); // No support for GLES#endif	Cvar_Set( "gl_anisotropy", va( "%f", bound( 0, gl_texture_anisotropy->value, glConfig.max_texture_anisotropy )));	// software mipmap generator does wrong result with NPOT textures ...	if( !GL_Support( GL_SGIS_MIPMAPS_EXT ))		GL_SetExtension( GL_ARB_TEXTURE_NPOT_EXT, false );	if( GL_Support( GL_TEXTURE_COMPRESSION_EXT ))		Image_AddCmdFlags( IL_DDS_HARDWARE );	// enable gldebug if allowed	if( GL_Support( GL_DEBUG_OUTPUT ))	{		if( host.developer >= D_ERROR )		{			MsgDev( D_NOTE, "Installing GL_DebugOutput.../n");			pglDebugMessageCallbackARB( GL_DebugOutput, NULL );		}		// force everything to happen in the main thread instead of in a separate driver thread		if( host.developer >= D_WARN )			pglEnable( GL_DEBUG_OUTPUT_SYNCHRONOUS_ARB );		// enable all the low priority messages		if( host.developer >= D_NOTE )			pglDebugMessageControlARB( GL_DONT_CARE, GL_DONT_CARE, GL_DEBUG_SEVERITY_LOW_ARB, 0, NULL, true );	}	glw_state.initialized = true;	tr.framecount = tr.visframecount = 1;}
开发者ID:THE-Swank,项目名称:xash3d,代码行数:101,


示例25: TV_Init

/** TV_Init* * Only called at plat.exe startup, not for each game*/void TV_Init( void ){	Com_Printf( "Initializing " APPLICATION " TV server/n" );	tv_mempool = Mem_AllocPool( NULL, "TV" );	TV_AddCommands();	Cvar_Get( "protocol", va( "%i", APP_PROTOCOL_VERSION ), CVAR_SERVERINFO | CVAR_NOSET );	Cvar_Get( "gamename", Cvar_String( "gamename" ), CVAR_SERVERINFO | CVAR_NOSET );	tv_password = Cvar_Get( "tv_password", "", 0 );	tv_ip = Cvar_Get( "tv_ip", "", CVAR_ARCHIVE | CVAR_NOSET );	tv_port = Cvar_Get( "tv_port", va( "%i", PORT_TV_SERVER ), CVAR_ARCHIVE | CVAR_NOSET );	tv_ip6 = Cvar_Get( "tv_ip6", "::", CVAR_ARCHIVE | CVAR_NOSET );	tv_port6 = Cvar_Get( "tv_port6", va( "%i", PORT_TV_SERVER ), CVAR_ARCHIVE | CVAR_NOSET );#ifdef TCP_ALLOW_TVCONNECT	tv_udp = Cvar_Get( "tv_udp", "1", CVAR_SERVERINFO | CVAR_NOSET );	tv_tcp = Cvar_Get( "tv_tcp", "1", CVAR_SERVERINFO | CVAR_NOSET );#else	tv_udp = Cvar_Get( "tv_udp", "1", CVAR_NOSET );#endif#ifndef TCP_ALLOW_TVCONNECT	Cvar_FullSet( "tv_tcp", "0", CVAR_READONLY, true );#endif	tv_reconnectlimit = Cvar_Get( "tv_reconnectlimit", "3", CVAR_ARCHIVE );	tv_timeout = Cvar_Get( "tv_timeout", "125", 0 );	tv_zombietime = Cvar_Get( "tv_zombietime", "2", 0 );	tv_name = Cvar_Get( "tv_name", APPLICATION "[TV]", CVAR_SERVERINFO | CVAR_ARCHIVE );	tv_compresspackets = Cvar_Get( "tv_compresspackets", "1", 0 );	tv_maxclients = Cvar_Get( "tv_maxclients", "32", CVAR_ARCHIVE | CVAR_SERVERINFO | CVAR_NOSET );	tv_maxmvclients = Cvar_Get( "tv_maxmvclients", "4", CVAR_ARCHIVE | CVAR_SERVERINFO | CVAR_NOSET );	tv_public = Cvar_Get( "tv_public", "1", CVAR_ARCHIVE | CVAR_SERVERINFO );	tv_rcon_password = Cvar_Get( "tv_rcon_password", "", 0 );	tv_autorecord = Cvar_Get( "tv_autorecord", "", CVAR_ARCHIVE );	tv_lobbymusic = Cvar_Get( "tv_lobbymusic", "", CVAR_ARCHIVE );	tv_masterservers = Cvar_Get( "tv_masterservers", DEFAULT_MASTER_SERVERS_IPS, CVAR_LATCH );	tv_masterservers_steam = Cvar_Get( "tv_masterservers_steam", DEFAULT_MASTER_SERVERS_STEAM_IPS, CVAR_LATCH );	// flood control	tv_floodprotection_messages = Cvar_Get( "tv_floodprotection_messages", "10", 0 );	tv_floodprotection_messages->modified = true;	tv_floodprotection_seconds = Cvar_Get( "tv_floodprotection_seconds", "4", 0 );	tv_floodprotection_seconds->modified = true;	tv_floodprotection_penalty = Cvar_Get( "tv_floodprotection_delay", "20", 0 );	tv_floodprotection_penalty->modified = true;	if( tv_maxclients->integer < 0 )		Cvar_ForceSet( "tv_maxclients", "0" );	if( tv_maxclients->integer )	{		tvs.clients = ( client_t * )Mem_Alloc( tv_mempool, sizeof( client_t ) * tv_maxclients->integer );	}	else	{		tvs.clients = NULL;	}	tvs.lobby.spawncount = rand();	tvs.lobby.snapFrameTime = 100;	// IPv4	if( !NET_StringToAddress( tv_ip->string, &tvs.address ) )		Com_Error( ERR_FATAL, "Couldn't understand address of tv_ip cvar: %s/n", NET_ErrorString() );	NET_SetAddressPort( &tvs.address, tv_port->integer );	if( tv_udp->integer )	{		if( !NET_OpenSocket( &tvs.socket_udp, SOCKET_UDP, &tvs.address, true ) )		{			Com_Printf( "Error: Couldn't open UDP socket: %s/n", NET_ErrorString() );			Cvar_ForceSet( tv_udp->name, "0" );		}	}	// IPv6	if( !NET_StringToAddress( tv_ip6->string, &tvs.addressIPv6 ) )		Com_Error( ERR_FATAL, "Couldn't understand address of tv_ip6 cvar: %s/n", NET_ErrorString() );	NET_SetAddressPort( &tvs.addressIPv6, tv_port6->integer );	if( tvs.addressIPv6.type != NA_NOTRANSMIT )	{		if( !NET_OpenSocket( &tvs.socket_udp6, SOCKET_UDP, &tvs.addressIPv6, true ) )		{			Com_Printf( "Error: Couldn't open UDP6 socket: %s/n", NET_ErrorString() );		}	}#ifdef TCP_ALLOW_TVCONNECT	if( tv_tcp->integer )	{//.........这里部分代码省略.........
开发者ID:ultimatecode7,项目名称:qfusion,代码行数:101,


示例26: SV_InitGame

/*==============SV_InitGameA brand new game has been started.If mvd_spawn is non-zero, load the built-in MVD game module.==============*/void SV_InitGame( unsigned mvd_spawn ) {    int     i, entnum;    edict_t *ent;    client_t *client;    if( svs.initialized ) {        // cause any connected clients to reconnect        SV_Shutdown( "Server restarted/n", ERR_RECONNECT | mvd_spawn );    } else {#if USE_CLIENT        // make sure the client is down        CL_Disconnect( ERR_RECONNECT );        SCR_BeginLoadingPlaque();#endif        CM_FreeMap( &sv.cm );        SV_FreeFile( sv.entitystring );        memset( &sv, 0, sizeof( sv ) );#if USE_FPS        // set up default frametime for main loop        sv.frametime = BASE_FRAMETIME;#endif    }    // get any latched variable changes (maxclients, etc)    Cvar_GetLatchedVars ();#if !USE_CLIENT    Cvar_Reset( sv_recycle );#endif    if( mvd_spawn ) {        Cvar_Set( "deathmatch", "1" );        Cvar_Set( "coop", "0" );    } else {        if( Cvar_VariableInteger( "coop" ) &&            Cvar_VariableInteger( "deathmatch" ) )        {            Com_Printf( "Deathmatch and Coop both set, disabling Coop/n" );            Cvar_Set( "coop", "0" );        }        // dedicated servers can't be single player and are usually DM        // so unless they explicity set coop, force it to deathmatch        if( Com_IsDedicated() ) {            if( !Cvar_VariableInteger( "coop" ) )                Cvar_Set( "deathmatch", "1" );        }    }    // init clients    if( Cvar_VariableInteger( "deathmatch" ) ) {        if( sv_maxclients->integer <= 1 ) {            Cvar_SetInteger( sv_maxclients, 8, FROM_CODE );        } else if( sv_maxclients->integer > CLIENTNUM_RESERVED ) {            Cvar_SetInteger( sv_maxclients, CLIENTNUM_RESERVED, FROM_CODE );        }    } else if( Cvar_VariableInteger( "coop" ) ) {        if( sv_maxclients->integer <= 1 || sv_maxclients->integer > 4 )            Cvar_Set( "maxclients", "4" );    } else {    // non-deathmatch, non-coop is one player        Cvar_FullSet( "maxclients", "1", CVAR_SERVERINFO|CVAR_LATCH, FROM_CODE );    }    // enable networking    if( sv_maxclients->integer > 1 ) {        NET_Config( NET_SERVER );    }    svs.client_pool = SV_Mallocz( sizeof( client_t ) * sv_maxclients->integer );    svs.num_entities = sv_maxclients->integer * UPDATE_BACKUP * MAX_PACKET_ENTITIES;    svs.entities = SV_Mallocz( sizeof( entity_state_t ) * svs.num_entities );#if USE_MVD_SERVER    // initialize MVD server    if( !mvd_spawn ) {        SV_MvdInit();    }#endif    Cvar_ClampInteger( sv_reserved_slots, 0, sv_maxclients->integer - 1 );#if USE_ZLIB    svs.z.zalloc = SV_Zalloc;    svs.z.zfree = SV_Zfree;    if( deflateInit2( &svs.z, Z_DEFAULT_COMPRESSION, Z_DEFLATED,        -MAX_WBITS, 9, Z_DEFAULT_STRATEGY ) != Z_OK )    {        Com_Error( ERR_FATAL, "%s: deflateInit2() failed", __func__ );    }//.........这里部分代码省略.........
开发者ID:Bad-ptr,项目名称:q2pro,代码行数:101,


示例27: VID_StartupGamma

void VID_StartupGamma( void ){	// Device supports gamma anyway, but cannot do anything with it.	fs_offset_t	gamma_size;	byte	*savedGamma;	size_t	gammaTypeSize = sizeof(glState.stateRamp);	// init gamma ramp	Q_memset( glState.stateRamp, 0, gammaTypeSize);#if defined(XASH_SDL)	glConfig.deviceSupportsGamma = !SDL_GetWindowGammaRamp( host.hWnd, NULL, NULL, NULL);#endif	if( !glConfig.deviceSupportsGamma )	{		// force to set cvar		Cvar_FullSet( "gl_ignorehwgamma", "1", CVAR_GLCONFIG );		MsgDev( D_ERROR, "VID_StartupGamma: hardware gamma unsupported/n");	}	if( gl_ignorehwgamma->integer )	{		glConfig.deviceSupportsGamma = false;	// even if supported!		BuildGammaTable( vid_gamma->value, vid_texgamma->value );		MsgDev( D_NOTE, "VID_StartupGamma: software gamma initialized/n" );		return;	}	// share this extension so engine can grab them	GL_SetExtension( GL_HARDWARE_GAMMA_CONTROL, glConfig.deviceSupportsGamma );	savedGamma = FS_LoadFile( "gamma.dat", &gamma_size, false );	if( !savedGamma || gamma_size != (fs_offset_t)gammaTypeSize)	{		// saved gamma not found or corrupted file		FS_WriteFile( "gamma.dat", glState.stateRamp, gammaTypeSize);		MsgDev( D_NOTE, "VID_StartupGamma: gamma.dat initialized/n" );		if( savedGamma ) Mem_Free( savedGamma );	}	else	{		GL_BuildGammaTable();		// validate base gamma		if( !Q_memcmp( savedGamma, glState.stateRamp, gammaTypeSize))		{			// all ok, previous gamma is valid			MsgDev( D_NOTE, "VID_StartupGamma: validate screen gamma - ok/n" );		}		else if( !Q_memcmp( glState.gammaRamp, glState.stateRamp, gammaTypeSize))		{			// screen gamma is equal to render gamma (probably previous instance crashed)			// run additional check to make sure for it			if( Q_memcmp( savedGamma, glState.stateRamp, gammaTypeSize))			{				// yes, current gamma it's totally wrong, restore it from gamma.dat				MsgDev( D_NOTE, "VID_StartupGamma: restore original gamma after crash/n" );				Q_memcpy( glState.stateRamp, savedGamma, gammaTypeSize);			}			else			{				// oops, savedGamma == glState.stateRamp == glState.gammaRamp				// probably r_gamma set as default				MsgDev( D_NOTE, "VID_StartupGamma: validate screen gamma - disabled/n" ); 			}		}		else if( !Q_memcmp( glState.gammaRamp, savedGamma, gammaTypeSize))		{			// saved gamma is equal render gamma, probably gamma.dat wroted after crash			// run additional check to make sure it			if( Q_memcmp( savedGamma, glState.stateRamp, gammaTypeSize))			{				// yes, saved gamma it's totally wrong, get origianl gamma from screen				MsgDev( D_NOTE, "VID_StartupGamma: merge gamma.dat after crash/n" );				FS_WriteFile( "gamma.dat", glState.stateRamp, gammaTypeSize);			}			else			{				// oops, savedGamma == glState.stateRamp == glState.gammaRamp				// probably r_gamma set as default				MsgDev( D_NOTE, "VID_StartupGamma: validate screen gamma - disabled/n" ); 			}		}		else		{			// current gamma unset by other application, so we can restore it here			MsgDev( D_NOTE, "VID_StartupGamma: restore original gamma after crash/n" );			Q_memcpy( glState.stateRamp, savedGamma, gammaTypeSize);		}		Mem_Free( savedGamma );	}	vid_gamma->modified = true;}
开发者ID:DeadZoneLuna,项目名称:xash3d,代码行数:97,


示例28: FS_SetGamedir

/* * Sets the gamedir and path to a different directory. */voidFS_SetGamedir(char *dir){	int i;	fsSearchPath_t *next;	if (strstr(dir, "..") || strstr(dir, "/"))	{		Com_Printf("Gamedir should be a single filename, not a path./n");		return;	}	/* Free up any current game dir info. */	while (fs_searchPaths != fs_baseSearchPaths)	{		if (fs_searchPaths->pack)		{			if (fs_searchPaths->pack->pak)			{				fclose(fs_searchPaths->pack->pak);			}#ifdef ZIP			if (fs_searchPaths->pack->pk3)			{				unzClose(fs_searchPaths->pack->pk3);			}#endif			Z_Free(fs_searchPaths->pack->files);			Z_Free(fs_searchPaths->pack);		}		next = fs_searchPaths->next;		Z_Free(fs_searchPaths);		fs_searchPaths = next;	}	/* Close open files for game dir. */	for (i = 0; i < MAX_HANDLES; i++)	{		if (strstr(fs_handles[i].name, dir) &&			((fs_handles[i].file != NULL)#ifdef ZIP			  || (fs_handles[i].zip != NULL)#endif			))		{			FS_FCloseFile(i);		}	}	/* Flush all data, so it will be forced to reload. */	if ((dedicated != NULL) && (dedicated->value != 1))	{		Cbuf_AddText("vid_restart/nsnd_restart/n");	}	Com_sprintf(fs_gamedir, sizeof(fs_gamedir), "%s/%s",			fs_basedir->string, dir);	if ((strcmp(dir, BASEDIRNAME) == 0) || (*dir == 0))	{		Cvar_FullSet("gamedir", "", CVAR_SERVERINFO | CVAR_NOSET);		Cvar_FullSet("game", "", CVAR_LATCH | CVAR_SERVERINFO);	}	else	{		Cvar_FullSet("gamedir", dir, CVAR_SERVERINFO | CVAR_NOSET);		if (fs_cddir->string[0] == '/0')		{			FS_AddGameDirectory(va("%s/%s", fs_cddir->string, dir));		}#ifdef SYSTEMWIDE		FS_AddSystemwideGameDirectory(dir);#endif		FS_AddGameDirectory(va("%s/%s", fs_basedir->string, dir));		FS_AddHomeAsGameDirectory(dir);	}}
开发者ID:Jenco420,项目名称:yquake2,代码行数:86,



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


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