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

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

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

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

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

示例1: SV_PointContents

int SV_PointContents(const CVec3 &p){	guard(SV_PointContents);	// get base contents from world	unsigned contents = CM_PointContents(p, 0);	contents |= CM_PointModelContents(p);	edict_t	*list[MAX_EDICTS];	int num = SV_AreaEdicts(p, p, ARRAY_ARG(list), AREA_SOLID);	for (int i = 0; i < num; i++)	{		edict_t *edict = list[i];		entityHull_t &ent = ents[NUM_FOR_EDICT(edict)];		if (ent.model)			contents |= CM_TransformedPointContents(p, ent.model->headnode, edict->s.origin, ent.axis);		else			contents |= CM_TransformedPointContents(p, CM_HeadnodeForBox(ent.bounds), edict->s.origin, nullVec3);	}	return contents;	unguard;}
开发者ID:RkShaRkz,项目名称:Quake2,代码行数:25,


示例2: SV_PointContents

/*=============SV_PointContents=============*/int SV_PointContents (vec3_t p){	edict_t		*touch[MAX_EDICTS], *hit;	int			i, num;	int			contents, c2;	int			headnode;	float		*angles;	// get base contents from world	contents = CM_PointContents (p, sv.models[1]->headnode);	// or in contents from all the other entities	num = SV_AreaEdicts (p, p, touch, MAX_EDICTS, AREA_SOLID);	for (i=0 ; i<num ; i++)	{		hit = touch[i];		// might intersect, so do an exact clip		headnode = SV_HullForEntity (hit);		angles = hit->s.angles;		if (hit->solid != SOLID_BSP)			angles = vec3_origin;	// boxes don't rotate		c2 = CM_TransformedPointContents (p, headnode, hit->s.origin, hit->s.angles);		contents |= c2;	}	return contents;}
开发者ID:Jaegermeiste,项目名称:quake2_322,代码行数:36,


示例3: SV_PointContents

/*=============SV_PointContents=============*/int SV_PointContents(vec3_t p){    edict_t     *touch[MAX_EDICTS], *hit;    int         i, num;    int         contents;    if (!sv.cm.cache) {        Com_Error(ERR_DROP, "%s: no map loaded", __func__);    }    // get base contents from world    contents = CM_PointContents(p, sv.cm.cache->nodes);    // or in contents from all the other entities    num = SV_AreaEdicts(p, p, touch, MAX_EDICTS, AREA_SOLID);    for (i = 0; i < num; i++) {        hit = touch[i];        // might intersect, so do an exact clip        contents |= CM_TransformedPointContents(p, SV_HullForEntity(hit),                                                hit->s.origin, hit->s.angles);    }    return contents;}
开发者ID:Jenco420,项目名称:q2pro,代码行数:31,


示例4: SV_PointContents

/*=======================================================================================================================================SV_PointContents=======================================================================================================================================*/int SV_PointContents(const vec3_t p, int passEntityNum) {	int touch[MAX_GENTITIES];	sharedEntity_t *hit;	int i, num;	int contents, c2;	clipHandle_t clipHandle;	// get base contents from world	contents = CM_PointContents(p, 0);	// or in contents from all the other entities	num = SV_AreaEntities(p, p, touch, MAX_GENTITIES);	for (i = 0; i < num; i++) {		if (touch[i] == passEntityNum) {			continue;		}		hit = SV_GentityNum(touch[i]);		// might intersect, so do an exact clip		clipHandle = SV_ClipHandleForEntity(hit);		// non - worldspawn entities must not use world as clip model!		if (clipHandle == 0) {			continue;		}		c2 = CM_TransformedPointContents(p, clipHandle, hit->r.currentOrigin, hit->r.currentAngles);		// s.origin/angles is base origin/angles, need to use the current origin/angles for moving entity based water, or water locks in movement start position.		//c2 = CM_TransformedPointContents(p, clipHandle, hit->s.origin, hit->s.angles);		contents |= c2;	}	return contents;}
开发者ID:ioid3-games,项目名称:ioid3-wet,代码行数:38,


示例5: SV_PointContents

/*=============SV_PointContents=============*/int SV_PointContents( const vec3_t p, int passEntityNum ) {	int			touch[MAX_GENTITIES];	sharedEntity_t *hit;	int			i, num;	int			contents, c2;	clipHandle_t	clipHandle;	float		*angles;	// get base contents from world	contents = CM_PointContents( p, 0 );	// or in contents from all the other entities	num = SV_AreaEntities( p, p, touch, MAX_GENTITIES );	for ( i=0 ; i<num ; i++ ) {		if ( touch[i] == passEntityNum ) {			continue;		}		hit = SV_GentityNum( touch[i] );		// might intersect, so do an exact clip		clipHandle = SV_ClipHandleForEntity( hit );		angles = hit->r.currentAngles;		if ( !hit->r.bmodel ) {			angles = vec3_origin;	// boxes don't rotate		}		c2 = CM_TransformedPointContents (p, clipHandle, hit->r.currentOrigin, angles);		contents |= c2;	}	return contents;}
开发者ID:Lrns123,项目名称:jkaq3,代码行数:38,


示例6: FixWaterVis

static void FixWaterVis(){	CVec3	p;			// point	bool	w, w1;		// "in water" flag	if (cl.refdef.rdflags & RDF_THIRD_PERSON)		w1 = (CM_PointContents(cl.refdef.vieworg, 0) & MASK_WATER) != 0;	// need to recompute UNDERWATER flag	else		w1 = (cl.refdef.rdflags & RDF_UNDERWATER) != 0;	p[0] = cl.refdef.vieworg[0];	p[1] = cl.refdef.vieworg[1];	// check point below	p[2] = cl.refdef.vieworg[2] - MIN_WATER_DISTANCE;	unsigned cont = CM_PointContents(p, 0);	w = (cont & MASK_WATER) != 0;	if (w1 == w || cont & MASK_SOLID)	{		// check point above		p[2] += 2 * MIN_WATER_DISTANCE;		cont = CM_PointContents(p, 0);		w = (cont & MASK_WATER) != 0;	}	// do not require to fix position	if (w1 == w || cont & MASK_SOLID)		return;	//?? improve by disabling this trick for correct maps	// trace from air to water	trace_t trace;	if (!w1)		CM_BoxTrace(trace, cl.refdef.vieworg, p, nullBox, 0, MASK_WATER);	else		CM_BoxTrace(trace, p, cl.refdef.vieworg, nullBox, 0, MASK_WATER);	if (trace.fraction < 1.0f && !(trace.surface->flags & (SURF_TRANS33|SURF_TRANS66)))	{//		RE_DrawTextLeft("WATER FIX!", 1, 1, 1);		if (cl.refdef.vieworg[2] < trace.endpos[2])			cl.refdef.vieworg[2] = trace.endpos[2] - MIN_WATER_DISTANCE;		else			cl.refdef.vieworg[2] = trace.endpos[2] + MIN_WATER_DISTANCE;	}}
开发者ID:RkShaRkz,项目名称:Quake2,代码行数:46,


示例7: CM_TransformedPointContents

/*=======================================================================================================================================CM_TransformedPointContentsHandles offseting and rotation of the end points for moving and rotating entities.=======================================================================================================================================*/int CM_TransformedPointContents(const vec3_t p, clipHandle_t model, const vec3_t origin, const vec3_t angles) {	vec3_t p_l;	// subtract origin offset	VectorSubtract(p, origin, p_l);	// rotate start and end into the models frame of reference	if (model != BOX_MODEL_HANDLE && (angles[0] != 0.f || angles[1] != 0.f || angles[2] != 0.f)) {		vec3_t temp, forward, right, up;		angles_vectors(angles, forward, right, up);		VectorCopy(p_l, temp);		p_l[0] = DotProduct(temp, forward);		p_l[1] = -DotProduct(temp, right);		p_l[2] = DotProduct(temp, up);	}	return CM_PointContents(p_l, model);}
开发者ID:ioid3-games,项目名称:ioid3-wet,代码行数:26,


示例8: SV_PointContents

/* * SV_PointContents */intSV_PointContents(const Vec3 p, int passEntityNum){	int	touch[MAX_GENTITIES];	Sharedent *hit;	int	i, num;	int	contents, c2;	Cliphandle clipHandle;	float *angles;	/* get base contents from world */	contents = CM_PointContents(p, 0);	/* or in contents from all the other entities */	num = SV_AreaEntities(p, p, touch, MAX_GENTITIES);	for(i=0; i<num; i++){		if(touch[i] == passEntityNum)			continue;		hit = SV_GentityNum(touch[i]);		/* might intersect, so do an exact clip */		clipHandle = SV_ClipHandleForEntity(hit);		angles = hit->r.currentAngles;		if(!hit->r.bmodel)			angles = vec3_origin;	/* boxes don't rotate */		c2 =			CM_TransformedPointContents (p, clipHandle,				hit->r.currentOrigin,				angles);		contents |= c2;	}	return contents;}
开发者ID:icanhas,项目名称:yantar,代码行数:39,


示例9: CM_PointContents

//-----------------------------------------------------------------------------// Returns the contents mask at a particular world-space position//-----------------------------------------------------------------------------int	CEngineTrace::GetPointContents( const Vector &vecAbsPosition, IHandleEntity** ppEntity ){	// First check the collision model	int nContents = CM_PointContents( vecAbsPosition, 0 );	if ( nContents & MASK_CURRENT )	{		nContents = CONTENTS_WATER;	}		if ( nContents != CONTENTS_SOLID )	{		CPointContentsEnum contentsEnum(this, vecAbsPosition);		SpatialPartition()->EnumerateElementsAtPoint( SpatialPartitionMask(),			vecAbsPosition, false, &contentsEnum );		int nEntityContents = contentsEnum.m_Contents;		if ( nEntityContents & MASK_CURRENT )			nContents = CONTENTS_WATER;		if ( nEntityContents != CONTENTS_EMPTY )		{			if (ppEntity)			{				*ppEntity = contentsEnum.m_pCollide->GetEntityHandle();			}			return nEntityContents;		}	}	if (ppEntity)	{		*ppEntity = GetWorldCollideable()->GetEntityHandle();	}	return nContents;}
开发者ID:RaisingTheDerp,项目名称:raisingthebar,代码行数:39,


示例10: CL_AddParticles

/*===============CL_AddParticles===============*/void CL_AddParticles (void){	cparticle_t		*p, *next;	float			alpha;	float			time, time2;	vec3_t			org;	int				color;	cparticle_t		*active, *tail;	int             contents;	float			grav;	active = NULL;	tail = NULL;	if (!cl_drawParticles->integer)		return;	// allow gravity tweaks by the server	grav = Cvar_VariableValue("sv_gravity");	if (!grav)		grav = 1;	else		grav /= 800;	for (p = active_particles; p; p = next)	{		next = p->next;		// set alpha		// PMM - added INSTANT_PARTICLE handling		if (p->alphavel != INSTANT_PARTICLE)		{			time = (cl.time - p->time) * 0.001;			alpha = p->alpha + time * p->alphavel;			if (alpha <= 0)			{				// faded out				CL_FreeParticle (p);				continue;			}			else if (alpha <= 0.3f && p->color == 240) // this is HACK central...			{				// do blood decals				if (rand() & 4)				{					trace_t tr;					time2 = time * time;					org[0] = p->org[0] + p->vel[0] * time + p->accel[0] * time2;					org[1] = p->org[1] + p->vel[1] * time + p->accel[1] * time2;					org[2] = p->org[2] + p->vel[2] * time + p->accel[2] * time2;					tr = CL_Trace(p->org, org, 0, MASK_SOLID);					if (tr.fraction != 1.0f)					{						if (!VectorCompare(tr.plane.normal, vec3_origin) && !(CM_PointContents(p->org, 0) & MASK_WATER)) // no blood splatters underwater...						{							vec4_t color;							Vector4Set(color, 1.0, 0.0, 0.0, 1.0f);							RE_AddDecal(tr.endpos, tr.plane.normal, color, 16 + ((rand() % 21 * 0.05f) - 0.5f), DECAL_BLOOD + (rand() & 4), 0, frand() * 360);						}					}				}			}		}		else		{			alpha = p->alpha;		}		if (alpha > 1.0)			alpha = 1;		// set color		color = p->color;		// backup old position		VectorCopy (p->org, p->oldOrg);		// calculate new position		time2 = time * time;		org[0] = p->org[0] + p->vel[0] * time + p->accel[0] * time2;		org[1] = p->org[1] + p->vel[1] * time + p->accel[1] * time2;		org[2] = p->org[2] + p->vel[2] * time + p->accel[2] * time2;		// gravity modulation		//if (!p->ignoreGrav)		//	org[2] += time2 * -PARTICLE_GRAVITY;		// collision test		if (cl_particleCollision->integer)		{			if (p->bounceFactor)//.........这里部分代码省略.........
开发者ID:raynorpat,项目名称:cake,代码行数:101,


示例11: BotImport_PointContents

//===========================================================================//// Parameter:				-// Returns:					-// Changes Globals:		-//===========================================================================int BotImport_PointContents( vec3_t p ) {	return CM_PointContents( p, worldmodel );} //end of the function BotImport_PointContents
开发者ID:JackalFrost,项目名称:RTCW-WSGF,代码行数:9,


示例12: CL_CgameSystemCalls

/*====================CL_CgameSystemCallsThe cgame module is making a system call====================*/intptr_t CL_CgameSystemCalls( intptr_t *args ) {	switch( args[0] ) {	case CG_PRINT:		Com_Printf( "%s", (const char*)VMA(1) );		return 0;	case CG_ERROR:		Com_Error( ERR_DROP, "%s", (const char*)VMA(1) );		return 0;	case CG_MILLISECONDS:		return Sys_Milliseconds();	case CG_CVAR_REGISTER:		Cvar_Register( VMA(1), VMA(2), VMA(3), args[4] ); 		return 0;	case CG_CVAR_UPDATE:		Cvar_Update( VMA(1) );		return 0;	case CG_CVAR_SET:		Cvar_Set( VMA(1), VMA(2) );		return 0;	case CG_CVAR_VARIABLESTRINGBUFFER:		Cvar_VariableStringBuffer( VMA(1), VMA(2), args[3] );		return 0;	case CG_ARGC:		return Cmd_Argc();	case CG_ARGV:		Cmd_ArgvBuffer( args[1], VMA(2), args[3] );		return 0;	case CG_ARGS:		Cmd_ArgsBuffer( VMA(1), args[2] );		return 0;	case CG_FS_FOPENFILE:		return FS_FOpenFileByMode( VMA(1), VMA(2), args[3] );	case CG_FS_READ:		FS_Read2( VMA(1), args[2], args[3] );		return 0;	case CG_FS_WRITE:		FS_Write( VMA(1), args[2], args[3] );		return 0;	case CG_FS_FCLOSEFILE:		FS_FCloseFile( args[1] );		return 0;	case CG_FS_SEEK:		return FS_Seek( args[1], args[2], args[3] );	case CG_SENDCONSOLECOMMAND:		Cbuf_AddText( VMA(1) );		return 0;	case CG_ADDCOMMAND:		CL_AddCgameCommand( VMA(1) );		return 0;	case CG_REMOVECOMMAND:		Cmd_RemoveCommand( VMA(1) );		return 0;	case CG_SENDCLIENTCOMMAND:		CL_AddReliableCommand( VMA(1) );		return 0;	case CG_UPDATESCREEN:		// this is used during lengthy level loading, so pump message loop//		Com_EventLoop();	// FIXME: if a server restarts here, BAD THINGS HAPPEN!// We can't call Com_EventLoop here, a restart will crash and this _does_ happen// if there is a map change while we are downloading at pk3.// ZOID		SCR_UpdateScreen();		return 0;	case CG_CM_LOADMAP:		CL_CM_LoadMap( VMA(1) );		return 0;	case CG_CM_NUMINLINEMODELS:		return CM_NumInlineModels();	case CG_CM_INLINEMODEL:		return CM_InlineModel( args[1] );	case CG_CM_TEMPBOXMODEL:		return CM_TempBoxModel( VMA(1), VMA(2), /*int capsule*/ qfalse );	case CG_CM_TEMPCAPSULEMODEL:		return CM_TempBoxModel( VMA(1), VMA(2), /*int capsule*/ qtrue );	case CG_CM_POINTCONTENTS:		return CM_PointContents( VMA(1), args[2] );	case CG_CM_TRANSFORMEDPOINTCONTENTS:		return CM_TransformedPointContents( VMA(1), args[2], VMA(3), VMA(4) );	case CG_CM_BOXTRACE:		CM_BoxTrace( VMA(1), VMA(2), VMA(3), VMA(4), VMA(5), args[6], args[7], /*int capsule*/ qfalse );		return 0;	case CG_CM_CAPSULETRACE:		CM_BoxTrace( VMA(1), VMA(2), VMA(3), VMA(4), VMA(5), args[6], args[7], /*int capsule*/ qtrue );		return 0;	case CG_CM_TRANSFORMEDBOXTRACE:		CM_TransformedBoxTrace( VMA(1), VMA(2), VMA(3), VMA(4), VMA(5), args[6], args[7], VMA(8), VMA(9), /*int capsule*/ qfalse );		return 0;	case CG_CM_TRANSFORMEDCAPSULETRACE:		CM_TransformedBoxTrace( VMA(1), VMA(2), VMA(3), VMA(4), VMA(5), args[6], args[7], VMA(8), VMA(9), /*int capsule*/ qtrue );		return 0;	case CG_CM_MARKFRAGMENTS:		return re.MarkFragments( args[1], VMA(2), VMA(3), args[4], VMA(5), args[6], VMA(7) );	case CG_S_STARTSOUND://.........这里部分代码省略.........
开发者ID:BruceJohnJennerLawso,项目名称:quake3,代码行数:101,


示例13: CL_CgameSystemCalls

intptr_t CL_CgameSystemCalls(intptr_t *args){	switch (args[0])	{	case CG_PRINT:		Com_Printf("%s", (char *)VMA(1));		return 0;	case CG_ERROR:		Com_Error(ERR_DROP, "%s", (char *)VMA(1));		return 0;	case CG_MILLISECONDS:		return Sys_Milliseconds();	case CG_CVAR_REGISTER:		Cvar_Register(VMA(1), VMA(2), VMA(3), args[4]);		return 0;	case CG_CVAR_UPDATE:		Cvar_Update(VMA(1));		return 0;	case CG_CVAR_SET:		Cvar_SetSafe(VMA(1), VMA(2));		return 0;	case CG_CVAR_VARIABLESTRINGBUFFER:		Cvar_VariableStringBuffer(VMA(1), VMA(2), args[3]);		return 0;	case CG_CVAR_LATCHEDVARIABLESTRINGBUFFER:		Cvar_LatchedVariableStringBuffer(VMA(1), VMA(2), args[3]);		return 0;	case CG_ARGC:		return Cmd_Argc();	case CG_ARGV:		Cmd_ArgvBuffer(args[1], VMA(2), args[3]);		return 0;	case CG_ARGS:		Cmd_ArgsBuffer(VMA(1), args[2]);		return 0;	case CG_FS_FOPENFILE:		return FS_FOpenFileByMode(VMA(1), VMA(2), args[3]);	case CG_FS_READ:		FS_Read(VMA(1), args[2], args[3]);		return 0;	case CG_FS_WRITE:		return FS_Write(VMA(1), args[2], args[3]);	case CG_FS_FCLOSEFILE:		FS_FCloseFile(args[1]);		return 0;	case CG_FS_GETFILELIST:		return FS_GetFileList(VMA(1), VMA(2), VMA(3), args[4]);	case CG_FS_DELETEFILE:		return FS_Delete(VMA(1));	case CG_SENDCONSOLECOMMAND:		Cbuf_AddText(VMA(1));		return 0;	case CG_ADDCOMMAND:		CL_AddCgameCommand(VMA(1));		return 0;	case CG_REMOVECOMMAND:		Cmd_RemoveCommandSafe(VMA(1));		return 0;	case CG_SENDCLIENTCOMMAND:		CL_AddReliableCommand(VMA(1));		return 0;	case CG_UPDATESCREEN:		SCR_UpdateScreen();		return 0;	case CG_CM_LOADMAP:		CL_CM_LoadMap(VMA(1));		return 0;	case CG_CM_NUMINLINEMODELS:		return CM_NumInlineModels();	case CG_CM_INLINEMODEL:		return CM_InlineModel(args[1]);	case CG_CM_TEMPBOXMODEL:		return CM_TempBoxModel(VMA(1), VMA(2), qfalse);	case CG_CM_TEMPCAPSULEMODEL:		return CM_TempBoxModel(VMA(1), VMA(2), qtrue);	case CG_CM_POINTCONTENTS:		return CM_PointContents(VMA(1), args[2]);	case CG_CM_TRANSFORMEDPOINTCONTENTS:		return CM_TransformedPointContents(VMA(1), args[2], VMA(3), VMA(4));	case CG_CM_BOXTRACE:		CM_BoxTrace(VMA(1), VMA(2), VMA(3), VMA(4), VMA(5), args[6], args[7], /*int capsule*/ qfalse);		return 0;	case CG_CM_CAPSULETRACE:		CM_BoxTrace(VMA(1), VMA(2), VMA(3), VMA(4), VMA(5), args[6], args[7], /*int capsule*/ qtrue);		return 0;	case CG_CM_TRANSFORMEDBOXTRACE:		CM_TransformedBoxTrace(VMA(1), VMA(2), VMA(3), VMA(4), VMA(5), args[6], args[7], VMA(8), VMA(9), /*int capsule*/ qfalse);		return 0;	case CG_CM_TRANSFORMEDCAPSULETRACE:		CM_TransformedBoxTrace(VMA(1), VMA(2), VMA(3), VMA(4), VMA(5), args[6], args[7], VMA(8), VMA(9), /*int capsule*/ qtrue);		return 0;	case CG_CM_MARKFRAGMENTS:		return re.MarkFragments(args[1], VMA(2), VMA(3), args[4], VMA(5), args[6], VMA(7));	case CG_R_PROJECTDECAL:		re.ProjectDecal(args[1], args[2], VMA(3), VMA(4), VMA(5), args[6], args[7]);		return 0;	case CG_R_CLEARDECALS:		re.ClearDecals();		return 0;//.........这里部分代码省略.........
开发者ID:Mailaender,项目名称:etlegacy,代码行数:101,


示例14: CL_CgameSystemCalls

intptr_t CL_CgameSystemCalls( intptr_t *args ) {#ifndef __NO_JK2	if( com_jk2 && com_jk2->integer )	{		args[0] = (intptr_t)CL_ConvertJK2SysCall((cgameJK2Import_t)args[0]);	}#endif	switch( args[0] ) {	case CG_PRINT:		Com_Printf( "%s", VMA(1) );		return 0;	case CG_ERROR:		Com_Error( ERR_DROP, S_COLOR_RED"%s", VMA(1) );		return 0;	case CG_MILLISECONDS:		return Sys_Milliseconds();	case CG_CVAR_REGISTER:		Cvar_Register( (vmCvar_t *) VMA(1), (const char *) VMA(2), (const char *) VMA(3), args[4] );		return 0;	case CG_CVAR_UPDATE:		Cvar_Update( (vmCvar_t *) VMA(1) );		return 0;	case CG_CVAR_SET:		Cvar_Set( (const char *) VMA(1), (const char *) VMA(2) );		return 0;	case CG_ARGC:		return Cmd_Argc();	case CG_ARGV:		Cmd_ArgvBuffer( args[1], (char *) VMA(2), args[3] );		return 0;	case CG_ARGS:		Cmd_ArgsBuffer( (char *) VMA(1), args[2] );		return 0;	case CG_FS_FOPENFILE:		return FS_FOpenFileByMode( (const char *) VMA(1), (int *) VMA(2), (fsMode_t) args[3] );	case CG_FS_READ:		FS_Read( VMA(1), args[2], args[3] );		return 0;	case CG_FS_WRITE:		FS_Write( VMA(1), args[2], args[3] );		return 0;	case CG_FS_FCLOSEFILE:		FS_FCloseFile( args[1] );		return 0;	case CG_SENDCONSOLECOMMAND:		Cbuf_AddText( (const char *) VMA(1) );		return 0;	case CG_ADDCOMMAND:		CL_AddCgameCommand( (const char *) VMA(1) );		return 0;	case CG_SENDCLIENTCOMMAND:		CL_AddReliableCommand( (const char *) VMA(1) );		return 0;	case CG_UPDATESCREEN:		// this is used during lengthy level loading, so pump message loop		Com_EventLoop();	// FIXME: if a server restarts here, BAD THINGS HAPPEN!		SCR_UpdateScreen();		return 0;	case CG_RMG_INIT:		/*		if (!com_sv_running->integer)		{	// don't do this if we are connected locally			if (!TheRandomMissionManager)			{				TheRandomMissionManager = new CRMManager;			}			TheRandomMissionManager->SetLandScape( cmg.landScapes[args[1]] );			TheRandomMissionManager->LoadMission(qfalse);			TheRandomMissionManager->SpawnMission(qfalse);			cmg.landScapes[args[1]]->UpdatePatches();		}		*/ //this is SP.. I guess we're always the client and server.//		cl.mRMGChecksum = cm.landScapes[args[1]]->get_rand_seed();		RM_CreateRandomModels(args[1], (const char *)VMA(2));		//cmg.landScapes[args[1]]->rand_seed(cl.mRMGChecksum);		// restore it, in case we do a vid restart		cmg.landScape->rand_seed(cmg.landScape->get_rand_seed());//		TheRandomMissionManager->CreateMap();		return 0;	case CG_CM_REGISTER_TERRAIN:		return CM_RegisterTerrain((const char *)VMA(1), false)->GetTerrainId();	case CG_RE_INIT_RENDERER_TERRAIN:		re.InitRendererTerrain((const char *)VMA(1));		return 0;	case CG_CM_LOADMAP:		CL_CM_LoadMap( (const char *) VMA(1), args[2] );		return 0;	case CG_CM_NUMINLINEMODELS:		return CM_NumInlineModels();	case CG_CM_INLINEMODEL:		return CM_InlineModel( args[1] );	case CG_CM_TEMPBOXMODEL:		return CM_TempBoxModel( (const float *) VMA(1), (const float *) VMA(2) );//, (int) VMA(3) );	case CG_CM_POINTCONTENTS:		return CM_PointContents( (float *)VMA(1), args[2] );	case CG_CM_TRANSFORMEDPOINTCONTENTS:		return CM_TransformedPointContents( (const float *) VMA(1), args[2], (const float *) VMA(3), (const float *) VMA(4) );	case CG_CM_BOXTRACE:		CM_BoxTrace( (trace_t *) VMA(1), (const float *) VMA(2), (const float *) VMA(3), (const float *) VMA(4), (const float *) VMA(5), args[6], args[7] );//.........这里部分代码省略.........
开发者ID:Delfin1,项目名称:OpenJK,代码行数:101,


示例15: CL_CgameSystemCalls

//.........这里部分代码省略.........		case CG_COMPLETE_CALLBACK:			if ( completer )			{				completer( VMA( 1 ) );			}			return 0;		case CG_SENDCLIENTCOMMAND:			CL_AddReliableCommand( VMA( 1 ) );			return 0;		case CG_UPDATESCREEN:			SCR_UpdateScreen();			return 0;		case CG_CM_LOADMAP:			CL_CM_LoadMap( VMA( 1 ) );			return 0;		case CG_CM_NUMINLINEMODELS:			return CM_NumInlineModels();		case CG_CM_INLINEMODEL:			return CM_InlineModel( args[ 1 ] );		case CG_CM_TEMPBOXMODEL:			return CM_TempBoxModel( VMA( 1 ), VMA( 2 ), qfalse );		case CG_CM_TEMPCAPSULEMODEL:			return CM_TempBoxModel( VMA( 1 ), VMA( 2 ), qtrue );		case CG_CM_POINTCONTENTS:			return CM_PointContents( VMA( 1 ), args[ 2 ] );		case CG_CM_TRANSFORMEDPOINTCONTENTS:			return CM_TransformedPointContents( VMA( 1 ), args[ 2 ], VMA( 3 ), VMA( 4 ) );		case CG_CM_BOXTRACE:			CM_BoxTrace( VMA( 1 ), VMA( 2 ), VMA( 3 ), VMA( 4 ), VMA( 5 ), args[ 6 ], args[ 7 ], TT_AABB );			return 0;		case CG_CM_TRANSFORMEDBOXTRACE:			CM_TransformedBoxTrace( VMA( 1 ), VMA( 2 ), VMA( 3 ), VMA( 4 ), VMA( 5 ), args[ 6 ], args[ 7 ], VMA( 8 ), VMA( 9 ), TT_AABB );			return 0;		case CG_CM_CAPSULETRACE:			CM_BoxTrace( VMA( 1 ), VMA( 2 ), VMA( 3 ), VMA( 4 ), VMA( 5 ), args[ 6 ], args[ 7 ], TT_CAPSULE );			return 0;		case CG_CM_TRANSFORMEDCAPSULETRACE:			CM_TransformedBoxTrace( VMA( 1 ), VMA( 2 ), VMA( 3 ), VMA( 4 ), VMA( 5 ), args[ 6 ], args[ 7 ], VMA( 8 ), VMA( 9 ), TT_CAPSULE );			return 0;		case CG_CM_BISPHERETRACE:			CM_BiSphereTrace( VMA( 1 ), VMA( 2 ), VMA( 3 ), VMF( 4 ), VMF( 5 ), args[ 6 ], args[ 7 ] );			return 0;		case CG_CM_TRANSFORMEDBISPHERETRACE:			CM_TransformedBiSphereTrace( VMA( 1 ), VMA( 2 ), VMA( 3 ), VMF( 4 ), VMF( 5 ), args[ 6 ], args[ 7 ], VMA( 8 ) );			return 0;		case CG_CM_MARKFRAGMENTS:			return re.MarkFragments( args[ 1 ], VMA( 2 ), VMA( 3 ), args[ 4 ], VMA( 5 ), args[ 6 ], VMA( 7 ) );		case CG_R_PROJECTDECAL:
开发者ID:Sixthly,项目名称:Unvanquished,代码行数:67,


示例16: CL_CgameSystemCalls

/*====================CL_CgameSystemCallsThe cgame module is making a system call====================*/intptr_t CL_CgameSystemCalls( intptr_t *args ) {	switch( args[0] ) {	case CG_PRINT:		Com_Printf( "%s", VMA(1) );		return 0;	case CG_FATAL_ERROR:		Com_Error( ERR_DROP, "%s", VMA(1) );		return 0;	case CG_MILLISECONDS:		return Sys_Milliseconds();	case CG_CVAR_REGISTER:		Cvar_Register( VMA(1), VMA(2), VMA(3), args[4] ); 		return 0;	case CG_CVAR_UPDATE:		Cvar_Update( VMA(1) );		return 0;	case CG_CVAR_SET:		Cvar_Set( VMA(1), VMA(2) );		return 0;	case CG_CVAR_VARIABLESTRINGBUFFER:		Cvar_VariableStringBuffer( VMA(1), VMA(2), args[3] );		return 0;	case CG_ARGC:		return Cmd_Argc();	case CG_ARGV:		Cmd_ArgvBuffer( args[1], VMA(2), args[3] );		return 0;	case CG_ARGVI:		return atoi( Cmd_Argv( args[1] ) );	case CG_ARGS:		Cmd_ArgsBuffer( VMA(1), args[2] );		return 0;	case CG_CMD_EXECUTETEXT:		Cbuf_ExecuteText( args[1], VMA(2) );		return 0;	case CG_FS_FOPENFILE:		return FS_FOpenFileByMode( VMA(1), VMA(2), args[3] );	case CG_FS_READ:		FS_Read( VMA(1), args[2], args[3] );		return 0;	case CG_FS_WRITE:		FS_Write( VMA(1), args[2], args[3] );		return 0;	case CG_FS_FCLOSEFILE:		FS_FCloseFile( args[1] );		return 0;	case CG_SENDCONSOLECOMMAND:		Cbuf_AddText( VMA(1) );		return 0;	case CG_FORWARDCOMMAND:		VM_Call( uivm, UI_CONSOLE_COMMAND, cls.realtime );		return 0;	case CG_ADDCOMMAND:		CL_AddCgameCommand( VMA(1) );		return 0;	case CG_REMOVECOMMAND:		Cmd_RemoveCommand( VMA(1) );		return 0;	case CG_SENDCLIENTCOMMAND:		CL_AddReliableCommand( VMA(1) );		return 0;	case CG_UPDATESCREEN:		// this is used during lengthy level loading, so pump message loop//		Com_EventLoop();	// FIXME: if a server restarts here, BAD THINGS HAPPEN!// We can't call Com_EventLoop here, a restart will crash and this _does_ happen// if there is a map change while we are downloading at pk3.// ZOID		SCR_UpdateScreen();		return 0;	case CG_CM_LOADMAP:		CL_CM_LoadMap( VMA(1) );		return 0;	case CG_CM_NUMINLINEMODELS:		return CM_NumInlineModels();	case CG_CM_INLINEMODEL:		return CM_InlineModel( args[1] );	case CG_CM_TEMPBOXMODEL:		return CM_TempBoxModel( VMA(1), VMA(2), /*int capsule*/ qfalse );	case CG_CM_TEMPCAPSULEMODEL:		return CM_TempBoxModel( VMA(1), VMA(2), /*int capsule*/ qtrue );	case CG_CM_POINTCONTENTS:		return CM_PointContents( VMA(1), args[2] );	case CG_CM_TRANSFORMEDPOINTCONTENTS:		return CM_TransformedPointContents( VMA(1), args[2], VMA(3), VMA(4) );	case CG_CM_BOXTRACE:		CM_BoxTrace( VMA(1), VMA(2), VMA(3), VMA(4), VMA(5), args[6], args[7], /*int capsule*/ qfalse );		return 0;	case CG_CM_CAPSULETRACE:		CM_BoxTrace( VMA(1), VMA(2), VMA(3), VMA(4), VMA(5), args[6], args[7], /*int capsule*/ qtrue );		return 0;	case CG_CM_TRANSFORMEDBOXTRACE:		CM_TransformedBoxTrace( VMA(1), VMA(2), VMA(3), VMA(4), VMA(5), args[6], args[7], VMA(8), VMA(9), /*int capsule*/ qfalse );		return 0;//.........这里部分代码省略.........
开发者ID:ballju,项目名称:SpaceTrader-GPL-1.1.14,代码行数:101,


示例17: CL_CgameSystemCalls

/*====================CL_CgameSystemCallsThe cgame module is making a system call====================*/intptr_t CL_CgameSystemCalls( intptr_t *args ) {	switch ( args[0] ) {	case CG_PRINT:		Com_Printf( "%s", (const char*)VMA(1) );		return 0;	case CG_ERROR:		Com_Error( ERR_DROP, "%s", (const char*)VMA(1) );		return 0;	case CG_MILLISECONDS:		return Sys_Milliseconds();	case CG_CVAR_REGISTER:		Cvar_Register( VMA( 1 ), VMA( 2 ), VMA( 3 ), args[4] );		return 0;	case CG_CVAR_UPDATE:		Cvar_Update( VMA( 1 ) );		return 0;	case CG_CVAR_SET:		Cvar_SetSafe( VMA(1), VMA(2) );		return 0;	case CG_CVAR_VARIABLESTRINGBUFFER:		Cvar_VariableStringBuffer( VMA( 1 ), VMA( 2 ), args[3] );		return 0;	case CG_ARGC:		return Cmd_Argc();	case CG_ARGV:		Cmd_ArgvBuffer( args[1], VMA( 2 ), args[3] );		return 0;	case CG_ARGS:		Cmd_ArgsBuffer( VMA( 1 ), args[2] );		return 0;	case CG_FS_FOPENFILE:		return FS_FOpenFileByMode( VMA( 1 ), VMA( 2 ), args[3] );	case CG_FS_READ:		FS_Read( VMA( 1 ), args[2], args[3] );		return 0;	case CG_FS_WRITE:		return FS_Write( VMA( 1 ), args[2], args[3] );	case CG_FS_FCLOSEFILE:		FS_FCloseFile( args[1] );		return 0;	case CG_SENDCONSOLECOMMAND:		Cbuf_AddText( VMA( 1 ) );		return 0;	case CG_ADDCOMMAND:		CL_AddCgameCommand( VMA( 1 ) );		return 0;	case CG_REMOVECOMMAND:		Cmd_RemoveCommandSafe( VMA(1) );		return 0;	case CG_SENDCLIENTCOMMAND:		CL_AddReliableCommand(VMA(1), qfalse);		return 0;	case CG_UPDATESCREEN:		// this is used during lengthy level loading, so pump message loop//		Com_EventLoop();	// FIXME: if a server restarts here, BAD THINGS HAPPEN!// We can't call Com_EventLoop here, a restart will crash and this _does_ happen// if there is a map change while we are downloading at pk3.// ZOID		SCR_UpdateScreen();		return 0;	case CG_CM_LOADMAP:		CL_CM_LoadMap( VMA( 1 ) );		return 0;	case CG_CM_NUMINLINEMODELS:		return CM_NumInlineModels();	case CG_CM_INLINEMODEL:		return CM_InlineModel( args[1] );	case CG_CM_TEMPBOXMODEL:		return CM_TempBoxModel( VMA( 1 ), VMA( 2 ), qfalse );	case CG_CM_TEMPCAPSULEMODEL:		return CM_TempBoxModel( VMA( 1 ), VMA( 2 ), qtrue );	case CG_CM_POINTCONTENTS:		return CM_PointContents( VMA( 1 ), args[2] );	case CG_CM_TRANSFORMEDPOINTCONTENTS:		return CM_TransformedPointContents( VMA( 1 ), args[2], VMA( 3 ), VMA( 4 ) );	case CG_CM_BOXTRACE:		CM_BoxTrace( VMA( 1 ), VMA( 2 ), VMA( 3 ), VMA( 4 ), VMA( 5 ), args[6], args[7], /*int capsule*/ qfalse );		return 0;	case CG_CM_TRANSFORMEDBOXTRACE:		CM_TransformedBoxTrace( VMA( 1 ), VMA( 2 ), VMA( 3 ), VMA( 4 ), VMA( 5 ), args[6], args[7], VMA( 8 ), VMA( 9 ), /*int capsule*/ qfalse );		return 0;	case CG_CM_CAPSULETRACE:		CM_BoxTrace( VMA( 1 ), VMA( 2 ), VMA( 3 ), VMA( 4 ), VMA( 5 ), args[6], args[7], /*int capsule*/ qtrue );		return 0;	case CG_CM_TRANSFORMEDCAPSULETRACE:		CM_TransformedBoxTrace( VMA( 1 ), VMA( 2 ), VMA( 3 ), VMA( 4 ), VMA( 5 ), args[6], args[7], VMA( 8 ), VMA( 9 ), /*int capsule*/ qtrue );		return 0;	case CG_CM_MARKFRAGMENTS:		return re.MarkFragments( args[1], VMA( 2 ), VMA( 3 ), args[4], VMA( 5 ), args[6], VMA( 7 ) );	case CG_S_STARTSOUND:		S_StartSound( VMA( 1 ), args[2], args[3], args[4] );		return 0;//----(SA)	added//.........这里部分代码省略.........
开发者ID:MAN-AT-ARMS,项目名称:iortcw-archive,代码行数:101,


示例18: CL_CgameSystemCalls

//.........这里部分代码省略.........        case CG_SENDCONSOLECOMMAND:            Cbuf_AddText( (const char*)VMA(1) );            return 0;        case CG_ADDCOMMAND:	        Cmd_AddCommand( (const char*)VMA(1), NULL );            return 0;        case CG_REMOVECOMMAND:            Cmd_RemoveCommandSafe( (const char*)VMA(1) );            return 0;        case CG_SENDCLIENTCOMMAND:            CL_AddReliableCommand((const char*)VMA(1), false);            return 0;        case CG_UPDATESCREEN:            // this is used during lengthy level loading, so pump message loop            //		Com_EventLoop();	// FIXME: if a server restarts here, BAD THINGS HAPPEN!            // We can't call Com_EventLoop here, a restart will crash and this _does_ happen            // if there is a map change while we are downloading at pk3.            // ZOID            SCR_UpdateScreen();            return 0;        case CG_CM_LOADMAP:            CL_CM_LoadMap( (const char*)VMA(1) );            return 0;        case CG_CM_NUMINLINEMODELS:            return CM_NumInlineModels();        case CG_CM_INLINEMODEL:            return CM_InlineModel( args[1] );        case CG_CM_TEMPBOXMODEL:            return CM_TempBoxModel( (const float*)VMA(1), (const float*)VMA(2), false );        case CG_CM_TEMPCAPSULEMODEL:            return CM_TempBoxModel( (const float*)VMA(1), (const float*)VMA(2), true );        case CG_CM_POINTCONTENTS:            return CM_PointContents( (const float*)VMA(1), args[2] );        case CG_CM_TRANSFORMEDPOINTCONTENTS:            return CM_TransformedPointContents( (const float*)VMA(1), (clipHandle_t)args[2],                                                (const float*)VMA(3), (const float*)VMA(4) );        case CG_CM_BOXTRACE:            CM_BoxTrace( (trace_t*)VMA(1), (const float*)VMA(2), (const float*)VMA(3),                         (float*)VMA(4), (float*)VMA(5), (clipHandle_t)args[6], args[7], TT_AABB );            return 0;        case CG_CM_CAPSULETRACE:            CM_BoxTrace( (trace_t*)VMA(1), (const float*)VMA(2), (const float*)VMA(3),                         (float*)VMA(4), (float*)VMA(5), (clipHandle_t)args[6], args[7], TT_CAPSULE );            return 0;        case CG_CM_TRANSFORMEDBOXTRACE:            CM_TransformedBoxTrace( (trace_t*)VMA(1), (const float*)VMA(2), (const float*)VMA(3),                                    (float*)VMA(4), (float*)VMA(5), (clipHandle_t)args[6], args[7],                                    (const float*)VMA(8), (const float*)VMA(9), TT_AABB );            return 0;        case CG_CM_TRANSFORMEDCAPSULETRACE:            CM_TransformedBoxTrace( (trace_t*)VMA(1), (const float*)VMA(2), (const float*)VMA(3),                                    (float*)VMA(4), (float*)VMA(5), (clipHandle_t)args[6], args[7],                                    (const float*)VMA(8), (const float*)VMA(9), TT_CAPSULE );            return 0;        case CG_CM_BISPHERETRACE:            CM_BiSphereTrace( (trace_t*)VMA(1), (const float*)VMA(2), (const float*)VMA(3), VMF(4), VMF(5), (clipHandle_t)args[6], args[7] );            return 0;        case CG_CM_TRANSFORMEDBISPHERETRACE:            CM_TransformedBiSphereTrace( (trace_t*)VMA(1), (const float*)VMA(2), (const float*)VMA(3),                                         VMF(4), VMF(5), (clipHandle_t)args[6], args[7], (const float*)VMA(8) );            return 0;        case CG_CM_MARKFRAGMENTS:            {            float (&arg2)[3][3] = *reinterpret_cast<float (*)[3][3]>(VMA(2));            return re.MarkFragments( args[1], arg2, (const float*)VMA(3), args[4], (float*)VMA(5), args[6], (markFragment_t*)VMA(7) );
开发者ID:wtfbbqhax,项目名称:tremulous,代码行数:67,



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


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