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

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

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

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

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

示例1: GetModelBoundingBox

// GetModelBoundingBox( index, Float:mins[3], Float:maxs[3], sequence = Model_DefaultSize );static cell AMX_NATIVE_CALL GetModelBoundingBox(AMX *amx, cell *params){	int entityIndex = params[1];	CHECK_ENTITY(entityIndex);	edict_t *pentModel = INDEXENT2(entityIndex);	if (!FNullEnt(pentModel))	{		studiohdr_t *pStudiohdr = static_cast<studiohdr_t*>(GET_MODEL_PTR(pentModel));		if (!pStudiohdr)		{			MF_LogError(amx, AMX_ERR_NATIVE, "Could not find the model pointer for the entity.");			return 0;		}		cell *bbmins = MF_GetAmxAddr(amx, params[2]);		cell *bbmaxs = MF_GetAmxAddr(amx, params[3]);		int sequence = params[4];		if (sequence <= Model_DefaultSize)		{			bbmins[0] = amx_ftoc(pStudiohdr->min.x);			bbmins[1] = amx_ftoc(pStudiohdr->min.y);			bbmins[2] = amx_ftoc(pStudiohdr->min.z);			bbmaxs[0] = amx_ftoc(pStudiohdr->max.x);			bbmaxs[1] = amx_ftoc(pStudiohdr->max.y);			bbmaxs[2] = amx_ftoc(pStudiohdr->max.z);		}		else		{			if (sequence <= Model_CurrentSequence || sequence >= pStudiohdr->numseq)				sequence = pentModel->v.sequence;			mstudioseqdesc_t *pSeqdesc;			pSeqdesc = (mstudioseqdesc_t*)((byte*)pStudiohdr + pStudiohdr->seqindex);			bbmins[0] = amx_ftoc(pSeqdesc[sequence].bbmin.x);			bbmins[1] = amx_ftoc(pSeqdesc[sequence].bbmin.y);			bbmins[2] = amx_ftoc(pSeqdesc[sequence].bbmin.z);			bbmaxs[0] = amx_ftoc(pSeqdesc[sequence].bbmax.x);			bbmaxs[1] = amx_ftoc(pSeqdesc[sequence].bbmax.y);			bbmaxs[2] = amx_ftoc(pSeqdesc[sequence].bbmax.z);		}		return 1;	}	return 0;};
开发者ID:Chuvi-w,项目名称:amxmodx,代码行数:56,


示例2: GET_MODEL_PTR

//=========================================================//=========================================================void CBaseAnimating::ResetSequenceInfo(){	void *pmodel = GET_MODEL_PTR( ENT( pev ) );	GetSequenceInfo( pmodel, pev, m_flFrameRate, m_flGroundSpeed );	m_fSequenceLoops = ( ( GetSequenceFlags() & STUDIO_LOOPING ) != 0 );	pev->animtime = gpGlobals->time;	pev->framerate = 1.0;	m_fSequenceFinished = false;	m_flLastEventCheck = gpGlobals->time;}
开发者ID:swmpdg,项目名称:HLEnhanced,代码行数:13,


示例3: GET_MODEL_PTR

void CWeaponCycler::SecondaryAttack(void){	pev->sequence = (pev->sequence + 1) % 8;	pev->modelindex = m_iModel;	void *pmodel = GET_MODEL_PTR(ENT(pev));	float flFrameRate, flGroundSpeed;	GetSequenceInfo(pmodel, pev, &flFrameRate, &flGroundSpeed);	pev->modelindex = 0;	if (flFrameRate == 0)		pev->sequence = 0;	SendWeaponAnim(pev->sequence);	m_flNextSecondaryAttack = gpGlobals->time + 0.3;}
开发者ID:AlexCSilva,项目名称:cs16-client,代码行数:17,


示例4: lookup_sequence

// lookup_sequence(entid, "sequence name", &Float:framerate = 0.0, &bool:loops = false, &Float:groundspeed = 0.0);static cell AMX_NATIVE_CALL lookup_sequence(AMX* amx, cell* params){	int index = params[1];	CHECK_ENTITY(index);	edict_t* ent = INDEXENT(index);	studiohdr_t* pstudiohdr = static_cast<studiohdr_t*>(GET_MODEL_PTR(ent));	if (pstudiohdr == NULL)	{		MF_LogError(amx, AMX_ERR_NATIVE, "Could not retrieve the model pointer from the entity provided.");		return 0;	}	mstudioseqdesc_t* pseqdesc;	pseqdesc = reinterpret_cast<mstudioseqdesc_t*>(					reinterpret_cast<char*>(pstudiohdr) + pstudiohdr->seqindex);	char* label = MF_GetAmxString(amx, params[2], 0, NULL);	for (int i = 0; i < pstudiohdr->numseq; i++)	{		if (UTIL_stricmp( pseqdesc[i].label, label ) == 0)		{			REAL* FrameRate = reinterpret_cast<REAL*>(MF_GetAmxAddr(amx, params[3]));			cell* Loops = MF_GetAmxAddr(amx, params[4]);			REAL* GroundSpeed = reinterpret_cast<REAL*>(MF_GetAmxAddr(amx, params[5]));			// Taken from HLSDK: animation & animating.cpp			pseqdesc = &pseqdesc[i];			*FrameRate = 256 * pseqdesc->fps / (pseqdesc->numframes - 1);			*GroundSpeed = sqrt( pseqdesc->linearmovement[0]*pseqdesc->linearmovement[0]+ pseqdesc->linearmovement[1]*pseqdesc->linearmovement[1]+ pseqdesc->linearmovement[2]*pseqdesc->linearmovement[2] );			*GroundSpeed = *GroundSpeed * pseqdesc->fps / (pseqdesc->numframes - 1);			*Loops = pseqdesc->flags & STUDIO_LOOPING;			return i;		}	}	return -1;};
开发者ID:Chuvi-w,项目名称:amxmodx,代码行数:47,


示例5: FIND_ENTITY_BY_TARGETNAME

// Find an entity that I'm interested in and precache the sounds he'll need in the sequence.void CCineMonster::Activate(void){	edict_t *     pentTarget;	CBaseMonster *pTarget;	// The entity name could be a target name or a classname	// Check the targetname	pentTarget = FIND_ENTITY_BY_TARGETNAME(NULL, STRING(m_iszEntity));	pTarget    = NULL;	while(!pTarget && !FNullEnt(pentTarget))	{		if(FBitSet(VARS(pentTarget)->flags, FL_MONSTER))		{			pTarget = GetMonsterPointer(pentTarget);		}		pentTarget = FIND_ENTITY_BY_TARGETNAME(pentTarget, STRING(m_iszEntity));	}	// If no entity with that targetname, check the classname	if(!pTarget)	{		pentTarget = FIND_ENTITY_BY_CLASSNAME(NULL, STRING(m_iszEntity));		while(!pTarget && !FNullEnt(pentTarget))		{			pTarget    = GetMonsterPointer(pentTarget);			pentTarget = FIND_ENTITY_BY_TARGETNAME(pentTarget, STRING(m_iszEntity));		}	}	// Found a compatible entity	if(pTarget)	{		void *pmodel;		pmodel = GET_MODEL_PTR(pTarget->edict());		if(pmodel)		{			// Look through the event list for stuff to precache			SequencePrecache(pmodel, STRING(m_iszIdle));			SequencePrecache(pmodel, STRING(m_iszPlay));		}	}}
开发者ID:Sh1ft0x0EF,项目名称:HLSDKRevamp,代码行数:43,


示例6: SetModelBoundingBox

// SetModelBoudingBox( index, sequence = Model_DefaultSize );static cell AMX_NATIVE_CALL SetModelBoundingBox(AMX *amx, cell *params){	int entityIndex = params[1];	CHECK_ENTITY(entityIndex);	edict_t *pentModel = INDEXENT2(entityIndex);	if (!FNullEnt(pentModel))	{		studiohdr_t *pStudiohdr = static_cast<studiohdr_t*>(GET_MODEL_PTR(pentModel));		if (!pStudiohdr)		{			MF_LogError(amx, AMX_ERR_NATIVE, "Could not find the model pointer for the entity.");			return 0;		}		int sequence = params[2];		if (sequence <= Model_DefaultSize)		{			SET_SIZE(pentModel, pStudiohdr->min, pStudiohdr->max);		}		else		{			if (sequence <= Model_CurrentSequence || sequence >= pStudiohdr->numseq)				sequence = pentModel->v.sequence;			mstudioseqdesc_t *pSeqdesc; 			pSeqdesc = (mstudioseqdesc_t*)((byte*)pStudiohdr + pStudiohdr->seqindex);			SET_SIZE(pentModel, pSeqdesc[sequence].bbmin, pSeqdesc[sequence].bbmax);			return 1;		}	}	return 0;}
开发者ID:Chuvi-w,项目名称:amxmodx,代码行数:41,


示例7: StudioFrameAdvanceEnt

void StudioFrameAdvanceEnt(edict_t *pEdict){	float flInterval = gpGlobals->time - pEdict->v.animtime;	if (flInterval <= 0.001f) {		pEdict->v.animtime = gpGlobals->time;		return;	}	if (pEdict->v.animtime == 0.0f) {		flInterval = 0.0f;	}	studiohdr_t *pstudiohdr = static_cast<studiohdr_t *>(GET_MODEL_PTR(pEdict));	if (!pstudiohdr) {		return;	}	if (pEdict->v.sequence >= pstudiohdr->numseq || pEdict->v.sequence < 0) {		return;	}	float flFrameRate = 256.0f;	mstudioseqdesc_t *pseqdesc = (mstudioseqdesc_t *)((byte *)pstudiohdr + pstudiohdr->seqindex) + int(pEdict->v.sequence);	if (pseqdesc->numframes > 1)	{		flFrameRate = pseqdesc->fps * 256.0f / (pseqdesc->numframes - 1);	}	pEdict->v.frame += flInterval * flFrameRate * pEdict->v.framerate;	pEdict->v.animtime = gpGlobals->time;	if (pEdict->v.frame < 0.0f || pEdict->v.frame >= 256.0f)	{		// true if the sequence loops		if (pseqdesc->flags & STUDIO_LOOPING)			pEdict->v.frame -= int(pEdict->v.frame / 256.0f) * 256.0f;		else			pEdict->v.frame = (pEdict->v.frame < 0.0f) ? 0.0f : 255.0f;	}}
开发者ID:s1lentq,项目名称:reapi,代码行数:40,


示例8: while

// Find an entity that I'm interested in and precache the sounds he'll need in the sequence.void CCineMonster::Activate( void ){	CBaseMonster* pTarget = nullptr;	CBaseEntity* pNextTarget = nullptr;	// The entity name could be a target name or a classname	// Check the targetname	while( !pTarget && ( pNextTarget = UTIL_FindEntityByTargetname( pNextTarget, STRING( m_iszEntity ) ) ) != nullptr )	{		if( pNextTarget->GetFlags().Any( FL_MONSTER ) )		{			pTarget = pNextTarget->MyMonsterPointer();		}	}	// If no entity with that targetname, check the classname	if( !pTarget )	{		pNextTarget = nullptr;		while( !pTarget && ( pNextTarget = UTIL_FindEntityByClassname( pNextTarget, STRING( m_iszEntity ) ) ) != nullptr )		{			pTarget = pNextTarget->MyMonsterPointer();		}	}	// Found a compatible entity	if( pTarget )	{		void *pmodel;		pmodel = GET_MODEL_PTR( pTarget->edict() );		if( pmodel )		{			// Look through the event list for stuff to precache			SequencePrecache( pmodel, STRING( m_iszIdle ) );			SequencePrecache( pmodel, STRING( m_iszPlay ) );		}	}}
开发者ID:oskarlh,项目名称:HLEnhanced,代码行数:40,


示例9: lookup_sequence_by_id

// lookup_sequence_by_id(entid, sequence_id, &Float:framerate = 0.0, &bool:loops = false, &Float:groundspeed = 0.0);static cell AMX_NATIVE_CALL lookup_sequence_by_id(AMX* amx, cell* params){	int index = params[1];	CHECK_ENTITY(index);	edict_t* ent = INDEXENT(index);	studiohdr_t* pstudiohdr = static_cast<studiohdr_t*>(GET_MODEL_PTR(ent));	if (pstudiohdr == NULL)	{		MF_LogError(amx, AMX_ERR_NATIVE, "Could not retrieve the model pointer from the entity (%d %p) provided.", index, ent);		return 0;	}	mstudioseqdesc_t* pseqdesc;	pseqdesc = reinterpret_cast<mstudioseqdesc_t*>(		reinterpret_cast<char*>(pstudiohdr)+pstudiohdr->seqindex);	int sequence_id = params[2];	if (sequence_id < 0 || sequence_id >= pstudiohdr->numseq)		return -1;	REAL* FrameRate = reinterpret_cast<REAL*>(MF_GetAmxAddr(amx, params[3]));	cell* Loops = MF_GetAmxAddr(amx, params[4]);	REAL* GroundSpeed = reinterpret_cast<REAL*>(MF_GetAmxAddr(amx, params[5]));	// Taken from HLSDK: animation & animating.cpp	pseqdesc = &pseqdesc[sequence_id];	*FrameRate = 256 * pseqdesc->fps / (pseqdesc->numframes - 1);	*GroundSpeed = sqrt(pseqdesc->linearmovement[0] * pseqdesc->linearmovement[0] + pseqdesc->linearmovement[1] * pseqdesc->linearmovement[1] + pseqdesc->linearmovement[2] * pseqdesc->linearmovement[2]);	*GroundSpeed = *GroundSpeed * pseqdesc->fps / (pseqdesc->numframes - 1);	*Loops = pseqdesc->flags & STUDIO_LOOPING;	return sequence_id;};
开发者ID:dreamstalker,项目名称:amxmodx,代码行数:40,


示例10: ExtractBbox

/* <10b5f> ../cstrike/dlls/animating.cpp:250 */int CBaseAnimating::ExtractBbox(int sequence, float *mins, float *maxs){	return ::ExtractBbox(GET_MODEL_PTR(ENT(pev)), sequence, mins, maxs);}
开发者ID:omertelli,项目名称:ReGameDLL_CS,代码行数:5,


示例11: GetBodygroup

/* <10af0> ../cstrike/dlls/animating.cpp:244 */NOXREF int CBaseAnimating::GetBodygroup(int iGroup){	return ::GetBodygroup(GET_MODEL_PTR(ENT(pev)), pev, iGroup);}
开发者ID:omertelli,项目名称:ReGameDLL_CS,代码行数:5,


示例12: SetBodygroup

/* <10aad> ../cstrike/dlls/animating.cpp:239 */NOXREF void CBaseAnimating::SetBodygroup(int iGroup, int iValue){	::SetBodygroup(GET_MODEL_PTR(ENT(pev)), pev, iGroup, iValue);}
开发者ID:omertelli,项目名称:ReGameDLL_CS,代码行数:5,


示例13: GET_MODEL_PTR

/* <108d3> ../cstrike/dlls/animating.cpp:192 */NOXREF float CBaseAnimating::SetBlending(int iBlender, float flValue){	void *pmodel = GET_MODEL_PTR(ENT(pev));	return ::SetBlending(pmodel, pev, iBlender, flValue);}
开发者ID:omertelli,项目名称:ReGameDLL_CS,代码行数:6,


示例14: SpawnRandomGibs

//LRC - changed signature, to support custom gib modelsvoid CGib :: SpawnRandomGibs( entvars_t *pevVictim, int cGibs, int notfirst, const char *szGibModel ){	if (cGibs == 0) return; // spawn nothing!	CGib *pGib = GetClassPtr( (CGib *)NULL );	pGib->Spawn( szGibModel );	//LRC - check the model itself to find out how many gibs are available	studiohdr_t *pstudiohdr = (studiohdr_t *)(GET_MODEL_PTR( ENT(pGib->pev) ));	if (! pstudiohdr)		return;	mstudiobodyparts_t *pbodypart = (mstudiobodyparts_t *)((byte *)pstudiohdr + pstudiohdr->bodypartindex);	//ALERT(at_console, "read %d bodyparts, canonical is %d/n", pbodypart->nummodels, HUMAN_GIB_COUNT);	for (int cSplat = 0 ; cSplat < cGibs ; cSplat++ )	{		if (pGib == NULL) // first time through, we set pGib before the loop started		{			pGib = GetClassPtr( (CGib *)NULL );			pGib->Spawn( szGibModel );		}		if (notfirst)			pGib->pev->body = RANDOM_LONG(1, pbodypart->nummodels - 1);// start at one to avoid throwing random amounts of skulls (0th gib)		else			pGib->pev->body = RANDOM_LONG(0, pbodypart->nummodels - 1);		if ( pevVictim )		{			// spawn the gib somewhere in the monster's bounding volume			pGib->pev->origin.x = pevVictim->absmin.x + pevVictim->size.x * (RANDOM_FLOAT ( 0 , 1 ) );			pGib->pev->origin.y = pevVictim->absmin.y + pevVictim->size.y * (RANDOM_FLOAT ( 0 , 1 ) );			pGib->pev->origin.z = pevVictim->absmin.z + pevVictim->size.z * (RANDOM_FLOAT ( 0 , 1 ) ) + 1;	// absmin.z is in the floor because the engine subtracts 1 to enlarge the box			// make the gib fly away from the attack vector			pGib->pev->velocity = g_vecAttackDir * -1;			// mix in some noise			pGib->pev->velocity.x += RANDOM_FLOAT ( -0.25, 0.25 );			pGib->pev->velocity.y += RANDOM_FLOAT ( -0.25, 0.25 );			pGib->pev->velocity.z += RANDOM_FLOAT ( -0.25, 0.25 );			pGib->pev->velocity = pGib->pev->velocity * RANDOM_FLOAT ( 300, 400 );			pGib->pev->avelocity.x = RANDOM_FLOAT ( 100, 200 );			pGib->pev->avelocity.y = RANDOM_FLOAT ( 100, 300 );			// copy owner's blood color			pGib->m_bloodColor = (CBaseEntity::Instance(pevVictim))->BloodColor();						if ( pevVictim->health > -50)			{				pGib->pev->velocity = pGib->pev->velocity * 0.7;			}			else if ( pevVictim->health > -200)			{				pGib->pev->velocity = pGib->pev->velocity * 2;			}			else			{				pGib->pev->velocity = pGib->pev->velocity * 4;			}			pGib->pev->solid = SOLID_BBOX;			UTIL_SetSize ( pGib->pev, Vector( 0 , 0 , 0 ), Vector ( 0, 0, 0 ) );		}		pGib->LimitVelocity();		pGib = NULL; //LRC	}}
开发者ID:RichardRohac,项目名称:hl-amnesia-src,代码行数:72,


示例15: GetSequenceDuration

float AvHBaseBuildable::GetTimeForAnimation(int inIndex) const{	return GetSequenceDuration(GET_MODEL_PTR(ENT(pev)), this->pev);}
开发者ID:Arkshine,项目名称:NS,代码行数:4,


示例16: set_controller

// Float:set_controller(entid, controllerid, Float:value);static cell AMX_NATIVE_CALL set_controller(AMX* amx, cell* params){// From animation.cpp from the HLSDK//	SetController( void *pmodel, entvars_t *pev, int iController, float flValue )	int entindex = params[1];	CHECK_ENTITY(entindex);	edict_t* entity = INDEXENT(entindex);	int iController = params[2];	if (iController < 0 || iController > 3)	{		MF_LogError(amx, AMX_ERR_NATIVE, "Invalid controller id passed. Expected 0 through 3, got %d.", iController);		return 0;	}	entvars_t* pev = &entity->v;	float flValue = amx_ctof(params[3]);		studiohdr_t* pstudiohdr = static_cast<studiohdr_t*>(GET_MODEL_PTR(entity));	if (! pstudiohdr)	{		MF_LogError(amx, AMX_ERR_NATIVE, "Could not find the model pointer for the entity.");		return amx_ftoc(flValue);	}	mstudiobonecontroller_t	*pbonecontroller = (mstudiobonecontroller_t *)((byte *)pstudiohdr + pstudiohdr->bonecontrollerindex);	int i = 0;	// find first controller that matches the index	for (i = 0; i < pstudiohdr->numbonecontrollers; i++, pbonecontroller++)	{		if (pbonecontroller->index == iController)			break;	}	if (i >= pstudiohdr->numbonecontrollers)		return amx_ftoc(flValue);	// wrap 0..360 if it's a rotational controller	if (pbonecontroller->type & (STUDIO_XR | STUDIO_YR | STUDIO_ZR))	{		// ugly hack, invert value if end < start		if (pbonecontroller->end < pbonecontroller->start)			flValue = -flValue;		// does the controller not wrap?		if (pbonecontroller->start + 359.0 >= pbonecontroller->end)		{			if (flValue > ((pbonecontroller->start + pbonecontroller->end) / 2.0) + 180)				flValue = flValue - 360;			if (flValue < ((pbonecontroller->start + pbonecontroller->end) / 2.0) - 180)				flValue = flValue + 360;		}		else		{			if (flValue > 360)				flValue = flValue - (int)(flValue / 360.0) * 360.0;			else if (flValue < 0)				flValue = flValue + (int)((flValue / -360.0) + 1) * 360.0;		}	}	int setting = static_cast<int>(255 * (flValue - pbonecontroller->start) / (pbonecontroller->end - pbonecontroller->start));	if (setting < 0) setting = 0;	if (setting > 255) setting = 255;	pev->controller[iController] = setting;	return amx_ftoc(setting * (1.0 / 255.0) * (pbonecontroller->end - pbonecontroller->start) + pbonecontroller->start);}
开发者ID:Chuvi-w,项目名称:amxmodx,代码行数:74,


示例17: SequenceDuration

//=========================================================// LookupActivity//=========================================================float CBaseAnimating :: SequenceDuration( void ){               	void *pmodel = GET_MODEL_PTR(ENT(pev));	return ::SequenceDuration( pmodel, pev->sequence );}
开发者ID:nekonomicon,项目名称:QuakeRemakeDevkit,代码行数:9,


示例18: SetActivity

//=========================================================// SetActivity //=========================================================void CFriend :: SetActivity ( Activity NewActivity ){	int	iSequence = ACTIVITY_NOT_AVAILABLE;	void *pmodel = GET_MODEL_PTR( ENT(pev) );	switch ( NewActivity)	{	case ACT_RANGE_ATTACK1:					//		if (RANDOM_LONG(0,1))//		{//			iSequence = LookupSequence( "throwgrenade" );//		}//		else//		{			if (pev->frags)			{				iSequence = LookupSequence( "standing_shotgun" );			}			else			{				iSequence = LookupSequence( "standing_mp5" );			}//		}		break;	case ACT_RANGE_ATTACK2:		// grunt is going to a secondary long range attack. This may be a thrown 		// grenade or fired grenade, we must determine which and pick proper sequence		// get toss anim		iSequence = LookupSequence( "throwgrenade" );		break;	case ACT_RUN:		if ( pev->health <= LIMP_HEALTH )		{			// limp!			iSequence = LookupActivity ( ACT_RUN_HURT );		}		else		{			iSequence = LookupActivity ( NewActivity );		}		break;	case ACT_WALK:		if ( pev->health <= LIMP_HEALTH )		{			// limp!			iSequence = LookupActivity ( ACT_WALK_HURT );		}		else		{			iSequence = LookupActivity ( NewActivity );		}		break;	case ACT_IDLE:		if ( m_MonsterState == MONSTERSTATE_COMBAT )		{			NewActivity = ACT_IDLE_ANGRY;		}		iSequence = LookupActivity ( NewActivity );		break;	default:		iSequence = LookupActivity ( NewActivity );		break;	}		m_Activity = NewActivity; // Go ahead and set this so it doesn't keep trying when the anim is not present	// Set to the desired anim, or default anim if the desired is not present	if ( iSequence > ACTIVITY_NOT_AVAILABLE )	{		if ( pev->sequence != iSequence || !m_fSequenceLoops )		{			pev->frame = 0;		}		pev->sequence		= iSequence;	// Set to the reset anim (if it's there)		ResetSequenceInfo( );		SetYawSpeed();	}	else	{		// Not available try to get default anim		ALERT ( at_console, "%s has no sequence for act:%d/n", STRING(pev->classname), NewActivity );		pev->sequence		= 0;	// Set to the reset anim (if it's there)	}}
开发者ID:JoelTroch,项目名称:am_src_rebirth,代码行数:91,



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


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