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

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

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

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

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

示例1: AngularMove

/*=============AngularMovecalculate pev->velocity and pev->nextthink to reach vecDest frompev->origin traveling at flSpeedJust like LinearMove, but rotational.===============*/void CBaseToggle :: AngularMove( Vector vecDestAngle, float flSpeed ){	ASSERTSZ(flSpeed != 0, "AngularMove:  no speed is defined!");//	ASSERTSZ(m_pfnCallWhenMoveDone != NULL, "AngularMove: no post-move function defined");		m_vecFinalAngle = vecDestAngle;	// Already there?	if (vecDestAngle == pev->angles)	{		AngularMoveDone();		return;	}		// set destdelta to the vector needed to move	Vector vecDestDelta = vecDestAngle - pev->angles;		// divide by speed to get time to reach dest	float flTravelTime = vecDestDelta.Length() / flSpeed;	if( flTravelTime < 0.1f )	{		pev->avelocity = g_vecZero;		pev->nextthink = pev->ltime + 0.1f;		return;	}	// set nextthink to trigger a call to AngularMoveDone when dest is reached	pev->nextthink = pev->ltime + flTravelTime;	SetThink( &CBaseToggle::AngularMoveDone );	// scale the destdelta vector by the time spent traveling to get velocity	pev->avelocity = vecDestDelta / flTravelTime;}
开发者ID:nekonomicon,项目名称:QuakeRemakeDevkit,代码行数:43,


示例2: ASSERTSZ

//-----------------------------------------------------------------------------// Purpose: Calculate m_vecVelocity and m_flNextThink to reach vecDest from//			GetLocalOrigin() traveling at flSpeed. Just like LinearMove, but rotational.// Input  : vecDestAngle - //			flSpeed - //-----------------------------------------------------------------------------void CBaseToggle::AngularMove( const QAngle &vecDestAngle, float flSpeed ){	ASSERTSZ(flSpeed != 0, "AngularMove:  no speed is defined!");		m_vecFinalAngle = vecDestAngle;	m_movementType = MOVE_TOGGLE_ANGULAR;	// Already there?	if (vecDestAngle == GetLocalAngles())	{		MoveDone();		return;	}		// set destdelta to the vector needed to move	QAngle vecDestDelta = vecDestAngle - GetLocalAngles();		// divide by speed to get time to reach dest	float flTravelTime = vecDestDelta.Length() / flSpeed;	const float MinTravelTime = 0.01f;	if ( flTravelTime < MinTravelTime )	{		// If we only travel for a short time, we can fail WillSimulateGamePhysics()		flTravelTime = MinTravelTime;		flSpeed = vecDestDelta.Length() / flTravelTime;	}	// set m_flNextThink to trigger a call to AngularMoveDone when dest is reached	SetMoveDoneTime( flTravelTime );	// scale the destdelta vector by the time spent traveling to get velocity	SetLocalAngularVelocity( vecDestDelta * (1.0 / flTravelTime) );}
开发者ID:FooGames,项目名称:SecobMod,代码行数:40,


示例3: PostSpawn

//LRCvoid CBaseDoor :: PostSpawn( void ){	if (m_pMoveWith)		m_vecPosition1 = pev->origin - m_pMoveWith->pev->origin;	else		m_vecPosition1 = pev->origin;	// Subtract 2 from size because the engine expands bboxes by 1 in all directions	m_vecPosition2	= m_vecPosition1 + (pev->movedir * (fabs( pev->movedir.x * (pev->size.x-2) ) + fabs( pev->movedir.y * (pev->size.y-2) ) + fabs( pev->movedir.z * (pev->size.z-2) ) - m_flLip));	ASSERTSZ(m_vecPosition1 != m_vecPosition2, "door start/end positions are equal");	if ( FBitSet (pev->spawnflags, SF_DOOR_START_OPEN) )	{	// swap pos1 and pos2, put door at pos2		if (m_pMoveWith)		{			m_vecSpawnOffset = m_vecSpawnOffset + (m_vecPosition2 + m_pMoveWith->pev->origin) - pev->origin;			UTIL_AssignOrigin(this, m_vecPosition2 + m_pMoveWith->pev->origin);		}		else		{			m_vecSpawnOffset = m_vecSpawnOffset + m_vecPosition2 - pev->origin;			UTIL_AssignOrigin(this, m_vecPosition2);		}		Vector vecTemp = m_vecPosition2;		m_vecPosition2 = m_vecPosition1;		m_vecPosition1 = vecTemp;//		ALERT(at_console, "func_door postspawn: origin %f %f %f/n", pev->origin.x, pev->origin.y, pev->origin.z);	}}
开发者ID:Hammermaps-DEV,项目名称:Spirit-of-Half-Life-1.8--VC2010,代码行数:30,


示例4: SetMovedir

void CMomentaryDoor::Spawn( void ){	SetMovedir (pev);	pev->solid		= SOLID_BSP;	pev->movetype	= MOVETYPE_PUSH;	UTIL_SetOrigin(pev, pev->origin);	SET_MODEL( ENT(pev), STRING(pev->model) );		if (pev->speed == 0)		pev->speed = 100;	if (pev->dmg == 0)		pev->dmg = 2;		m_vecPosition1	= pev->origin;	// Subtract 2 from size because the engine expands bboxes by 1 in all directions making the size too big	m_vecPosition2	= m_vecPosition1 + (pev->movedir * (fabs( pev->movedir.x * (pev->size.x-2) ) + fabs( pev->movedir.y * (pev->size.y-2) ) + fabs( pev->movedir.z * (pev->size.z-2) ) - m_flLip));	ASSERTSZ(m_vecPosition1 != m_vecPosition2, "door start/end positions are equal");	if ( FBitSet (pev->spawnflags, SF_DOOR_START_OPEN) )	{	// swap pos1 and pos2, put door at pos2		UTIL_SetOrigin(pev, m_vecPosition2);		m_vecPosition2 = m_vecPosition1;		m_vecPosition1 = pev->origin;	}	SetTouch( NULL );		Precache();}
开发者ID:CecilHarvey,项目名称:RealBot,代码行数:30,


示例5: InitTrigger

//-----------------------------------------------------------------------------// Purpose: Called when spawning, after keyvalues have been handled.//-----------------------------------------------------------------------------void CASW_Jump_Trigger::Spawn( void ){	BaseClass::Spawn();	InitTrigger();	if ( m_flWait == 0 )	{		m_flWait = 0.2;	}	ASSERTSZ( m_iHealth == 0, "trigger_asw_jump with health" );			// find the target this use area is attached to	m_iNumJumpDests = 0;	CBaseEntity *pEnt = gEntList.FindEntityByName( NULL, m_JumpDestName, NULL );	while ( pEnt )	{		m_vecJumpDestination[m_iNumJumpDests] = pEnt->GetAbsOrigin();		m_iNumJumpDests++;		pEnt = gEntList.FindEntityByName(pEnt, m_JumpDestName, NULL);	}	if ( m_iNumJumpDests > 0 || m_bForceJump )	{		SetTouch( &CASW_Jump_Trigger::VolumeTouch );	}	else	{		Msg("Error: trigger_asw_jump has no valid destinations./n");	}	//Assert(!m_hUseTarget);}
开发者ID:Nightgunner5,项目名称:Jastian-Summer,代码行数:38,


示例6: LinearMove

/*=============LinearMovecalculate pev->velocity and pev->nextthink to reach vecDest frompev->origin traveling at flSpeed===============*/void CBaseToggle ::  LinearMove( Vector	vecDest, float flSpeed ){	ASSERTSZ(flSpeed != 0, "LinearMove:  no speed is defined!");//	ASSERTSZ(m_pfnCallWhenMoveDone != NULL, "LinearMove: no post-move function defined");		m_vecFinalDest = vecDest;	// Already there?	if (vecDest == pev->origin)	{		LinearMoveDone();		return;	}			// set destdelta to the vector needed to move	Vector vecDestDelta = vecDest - pev->origin;		// divide vector length by speed to get time to reach dest	float flTravelTime = vecDestDelta.Length() / flSpeed;	// set nextthink to trigger a call to LinearMoveDone when dest is reached	pev->nextthink = pev->ltime + flTravelTime;	SetThink( &CBaseToggle::LinearMoveDone );	// scale the destdelta vector by the time spent traveling to get velocity	pev->velocity = vecDestDelta / flTravelTime;}
开发者ID:Skumek,项目名称:hlsdk,代码行数:35,


示例7: Precache

void CRotButton::Spawn( void ){	Precache();	// set the axis of rotation	AxisDir( pev );	// check for clockwise rotation	if( FBitSet( pev->spawnflags, SF_ROTBUTTON_ROTATE_BACKWARDS ))		pev->movedir = pev->movedir * -1;	pev->movetype = MOVETYPE_PUSH;		if( FBitSet( pev->spawnflags, SF_ROTBUTTON_PASSABLE ))		pev->solid = SOLID_NOT;	else pev->solid = SOLID_BSP;	// shared code use this flag as BUTTON_DONTMOVE so we need to clear it here	ClearBits( pev->spawnflags, SF_ROTBUTTON_PASSABLE );	ClearBits( pev->spawnflags, SF_BUTTON_SPARK_IF_OFF );	ClearBits( pev->spawnflags, SF_BUTTON_DAMAGED_AT_LASER );	SET_MODEL( edict(), GetModel() );		if( pev->speed == 0 )		pev->speed = 40;	if( m_flWait == 0 )		m_flWait = 1;	if( pev->health > 0 )	{		pev->takedamage = DAMAGE_YES;	}	m_iState = STATE_OFF;	m_vecAngle1 = GetLocalAngles();	m_vecAngle2 = GetLocalAngles() + pev->movedir * m_flMoveDistance;	ASSERTSZ( m_vecAngle1 != m_vecAngle2, "rotating button start/end positions are equal" );	m_fStayPushed = (m_flWait == -1) ? TRUE : FALSE;	m_fRotating = TRUE;	// if the button is flagged for USE button activation only, take away it's touch function and add a use function	if( !FBitSet( pev->spawnflags, SF_BUTTON_TOUCH_ONLY ))	{		SetTouch( NULL );		SetUse( &CBaseButton::ButtonUse );	}	else	{			// touchable button		SetTouch( &CBaseButton::ButtonTouch );	}	UTIL_SetOrigin( this, GetLocalOrigin( ));	m_pUserData = WorldPhysic->CreateKinematicBodyFromEntity( this );}
开发者ID:FWGS,项目名称:XashXT,代码行数:59,


示例8: GetLocalAngles

//-----------------------------------------------------------------------------// Purpose: //-----------------------------------------------------------------------------void CRotDoor::Spawn( void ){	BaseClass::Spawn();	// set the axis of rotation	CBaseToggle::AxisDir();	// check for clockwise rotation	if ( HasSpawnFlags(SF_DOOR_ROTATE_BACKWARDS) )		m_vecMoveAng = m_vecMoveAng * -1;		//m_flWait			= 2; who the hell did this? (sjb)	m_vecAngle1	= GetLocalAngles();	m_vecAngle2	= GetLocalAngles() + m_vecMoveAng * m_flMoveDistance;	ASSERTSZ(m_vecAngle1 != m_vecAngle2, "rotating door start/end positions are equal/n");	// Starting open allows a func_door to be lighted in the closed position but	// spawn in the open position	//	// SF_DOOR_START_OPEN_OBSOLETE is an old broken way of spawning open that has	// been deprecated.	if ( HasSpawnFlags(SF_DOOR_START_OPEN_OBSOLETE) )	{			// swap pos1 and pos2, put door at pos2, invert movement direction		QAngle vecNewAngles = m_vecAngle2;		m_vecAngle2 = m_vecAngle1;		m_vecAngle1 = vecNewAngles;		m_vecMoveAng = -m_vecMoveAng;		// We've already had our physics setup in BaseClass::Spawn, so teleport to our		// current position. If we don't do this, our vphysics shadow will not update.		Teleport( NULL, &m_vecAngle1, NULL );		m_toggle_state = TS_AT_BOTTOM;	}	else if ( m_eSpawnPosition == FUNC_DOOR_SPAWN_OPEN )	{			// We've already had our physics setup in BaseClass::Spawn, so teleport to our		// current position. If we don't do this, our vphysics shadow will not update.		Teleport( NULL, &m_vecAngle2, NULL );		m_toggle_state = TS_AT_TOP;	}	else	{		m_toggle_state = TS_AT_BOTTOM;	}#ifdef HL1_DLL	SetSolid( SOLID_VPHYSICS );#endif			// Slam the object back to solid - if we really want it to be solid.	if ( m_bSolidBsp )	{		SetSolid( SOLID_BSP );	}}
开发者ID:KyleGospo,项目名称:City-17-Episode-One-Source,代码行数:61,


示例9: ButtonSound

void CRotButton::Spawn( void ){	char *pszSound;	//----------------------------------------------------	//determine sounds for buttons	//a sound of 0 should not make a sound	//----------------------------------------------------	pszSound = ButtonSound( m_sounds );	PRECACHE_SOUND(pszSound);	pev->noise = ALLOC_STRING(pszSound);	// set the axis of rotation	CBaseToggle::AxisDir( pev );	// check for clockwise rotation	if ( FBitSet (pev->spawnflags, SF_DOOR_ROTATE_BACKWARDS) )		pev->movedir = pev->movedir * -1;	pev->movetype	= MOVETYPE_PUSH;		if ( pev->spawnflags & SF_ROTBUTTON_NOTSOLID )		pev->solid		= SOLID_NOT;	else		pev->solid		= SOLID_BSP;	SET_MODEL(ENT(pev), STRING(pev->model));		if (pev->speed == 0)		pev->speed = 40;	if (m_flWait == 0)		m_flWait = 1;	if (pev->health > 0)	{		pev->takedamage = DAMAGE_YES;	}	m_toggle_state = TS_AT_BOTTOM;	m_vecAngle1	= pev->angles;	m_vecAngle2	= pev->angles + pev->movedir * m_flMoveDistance;	ASSERTSZ(m_vecAngle1 != m_vecAngle2, "rotating button start/end positions are equal");	m_fStayPushed = (m_flWait == -1 ? TRUE : FALSE);	m_fRotating = TRUE;	// if the button is flagged for USE button activation only, take away it's touch function and add a use function	if ( !FBitSet ( pev->spawnflags, SF_BUTTON_TOUCH_ONLY ) )	{		SetTouch ( NULL );		SetUse	 ( &CBaseButton::ButtonUse );	}	else // touchable button		SetTouch( &CBaseButton::ButtonTouch );	//SetTouch( ButtonTouch );}
开发者ID:Fograin,项目名称:hl-subsmod-ex,代码行数:57,


示例10: Precache

void CBaseDoor::Spawn( ){	Precache();	SetMovedir (pev);	if ( pev->skin == 0 )	{//normal door		if ( FBitSet (pev->spawnflags, SF_DOOR_PASSABLE) )			pev->solid		= SOLID_NOT;		else			pev->solid		= SOLID_BSP;	}	else	{// special contents		pev->solid		= SOLID_NOT;		SetBits( pev->spawnflags, SF_DOOR_SILENT );	// water is silent for now	}	pev->movetype	= MOVETYPE_PUSH;	UTIL_SetOrigin(pev, pev->origin);	SET_MODEL( ENT(pev), STRING(pev->model) );	// added by jason	if( !stricmp( STRING( pev->classname ), "func_water" ) )	{		pev->skin = CONTENTS_WATER;		pev->rendermode = kRenderTransAlpha;	}		if (pev->speed == 0)		pev->speed = 100;		m_vecPosition1	= pev->origin;	// Subtract 2 from size because the engine expands bboxes by 1 in all directions making the size too big	m_vecPosition2	= m_vecPosition1 + (pev->movedir * (fabs( pev->movedir.x * (pev->size.x-2) ) + fabs( pev->movedir.y * (pev->size.y-2) ) + fabs( pev->movedir.z * (pev->size.z-2) ) - m_flLip));	ASSERTSZ(m_vecPosition1 != m_vecPosition2, "door start/end positions are equal");	if ( FBitSet (pev->spawnflags, SF_DOOR_START_OPEN) )	{	// swap pos1 and pos2, put door at pos2		UTIL_SetOrigin(pev, m_vecPosition2);		m_vecPosition2 = m_vecPosition1;		m_vecPosition1 = pev->origin;	}	m_toggle_state = TS_AT_BOTTOM;		// if the door is flagged for USE button activation only, use NULL touch function	if ( FBitSet ( pev->spawnflags, SF_DOOR_USE_ONLY ) )	{		SetTouch ( NULL );	}	else // touchable button		SetTouch( DoorTouch );}
开发者ID:vermagav,项目名称:mechmod,代码行数:53,


示例11: Precache

void CRotDoor::Spawn( void ){	Precache();	// set the axis of rotation	CBaseToggle::AxisDir( pev );	// check for clockwise rotation	if ( FBitSet (pev->spawnflags, SF_DOOR_ROTATE_BACKWARDS) )		pev->movedir = pev->movedir * -1;		//m_flWait			= 2; who the hell did this? (sjb)	m_vecAngle1	= pev->angles;	m_vecAngle2	= pev->angles + pev->movedir * m_flMoveDistance;	ASSERTSZ(m_vecAngle1 != m_vecAngle2, "rotating door start/end positions are equal");		if ( FBitSet (pev->spawnflags, SF_DOOR_PASSABLE) )		pev->solid		= SOLID_NOT;	else		pev->solid		= SOLID_BSP;	pev->movetype	= MOVETYPE_PUSH;	UTIL_SetOrigin(pev, pev->origin);	SET_MODEL(ENT(pev), STRING(pev->model) );	if (pev->speed == 0)		pev->speed = 100;	// DOOR_START_OPEN is to allow an entity to be lighted in the closed position// but spawn in the open position	if ( FBitSet (pev->spawnflags, SF_DOOR_START_OPEN) )	{	// swap pos1 and pos2, put door at pos2, invert movement direction		pev->angles = m_vecAngle2;		Vector vecSav = m_vecAngle1;		m_vecAngle2 = m_vecAngle1;		m_vecAngle1 = vecSav;		pev->movedir = pev->movedir * -1;	}	m_toggle_state = TS_AT_BOTTOM;/*	if ( FBitSet ( pev->spawnflags, SF_DOOR_USE_ONLY ) )	{		SetTouch ( NULL );	}	else // touchable button*/	//sys test		SetTouch( DoorTouch );}
开发者ID:JoelTroch,项目名称:am_src_30jan2011,代码行数:50,


示例12: Precache

void CBaseDoor::Spawn(){	Precache();	SetMovedir( this );	if( GetSkin() == 0 )	{//normal door		if( GetSpawnFlags().Any( SF_DOOR_PASSABLE ) )			SetSolidType( SOLID_NOT );		else			SetSolidType( SOLID_BSP );	}	else	{// special contents		SetSolidType( SOLID_NOT );		GetSpawnFlags().AddFlags( SF_DOOR_SILENT );	// water is silent for now	}	SetMoveType( MOVETYPE_PUSH );	SetAbsOrigin( GetAbsOrigin() );	SetModel( GetModelName() );	if( GetSpeed() == 0 )		SetSpeed( 100 );	m_vecPosition1 = GetAbsOrigin();	// Subtract 2 from size because the engine expands bboxes by 1 in all directions making the size too big	m_vecPosition2 = m_vecPosition1 + ( GetMoveDir() * ( fabs( GetMoveDir().x * ( GetBounds().x - 2 ) ) + fabs( GetMoveDir().y * ( GetBounds().y - 2 ) ) + fabs( GetMoveDir().z * ( GetBounds().z - 2 ) ) - m_flLip ) );	ASSERTSZ( m_vecPosition1 != m_vecPosition2, "door start/end positions are equal" );	if( GetSpawnFlags().Any( SF_DOOR_START_OPEN ) )	{	// swap pos1 and pos2, put door at pos2		SetAbsOrigin( m_vecPosition2 );		m_vecPosition2 = m_vecPosition1;		m_vecPosition1 = GetAbsOrigin();	}	m_toggle_state = TS_AT_BOTTOM;	// if the door is flagged for USE button activation only, use NULL touch function	if( GetSpawnFlags().Any( SF_DOOR_USE_ONLY ) )	{		SetTouch( NULL );	}	else // touchable button		SetTouch( &CBaseDoor::DoorTouch );}
开发者ID:oskarlh,项目名称:HLEnhanced,代码行数:46,


示例13: SetMovedir

void CMomentaryDoor::Spawn( void ){	SetMovedir (pev);	pev->solid		= SOLID_BSP;	pev->movetype	= MOVETYPE_PUSH;	UTIL_SetOrigin(this, pev->origin);	SET_MODEL( ENT(pev), STRING(pev->model) );	//	if (pev->speed == 0)//		pev->speed = 100;	if (pev->dmg == 0)		pev->dmg = 2;	m_iState = STATE_OFF;		m_vecPosition1	= pev->origin;	// Subtract 2 from size because the engine expands bboxes by 1 in all directions making the size too big	m_vecPosition2	= m_vecPosition1 + (pev->movedir * (fabs( pev->movedir.x * (pev->size.x-2) ) + fabs( pev->movedir.y * (pev->size.y-2) ) + fabs( pev->movedir.z * (pev->size.z-2) ) - m_flLip));	ASSERTSZ(m_vecPosition1 != m_vecPosition2, "door start/end positions are equal");	//LRC: FIXME, move to PostSpawn	if ( FBitSet (pev->spawnflags, SF_DOOR_START_OPEN) )	{	// swap pos1 and pos2, put door at pos2		UTIL_AssignOrigin(this, m_vecPosition2);		Vector vecTemp = m_vecPosition2;		m_vecPosition2 = m_vecPosition1;		m_vecPosition1 = vecTemp;	}	if (m_pMoveWith)	{		m_vecPosition1 = m_vecPosition1 - m_pMoveWith->pev->origin;		m_vecPosition2 = m_vecPosition2 - m_pMoveWith->pev->origin;	}	Precache();	SetTouch( NULL );	}
开发者ID:Hammermaps-DEV,项目名称:Spirit-of-Half-Life-1.8--VC2010,代码行数:41,


示例14: AngularMove

/*=============AngularMovecalculate pev->velocity and pev->nextthink to reach vecDest frompev->origin traveling at flSpeedJust like LinearMove, but rotational.===============*/void CBaseToggle :: AngularMove( Vector vecDestAngle, float flSpeed ){	ASSERTSZ(flSpeed != 0, "AngularMove:  no speed is defined!");//	ASSERTSZ(m_pfnCallWhenMoveDone != NULL, "AngularMove: no post-move function defined");		m_vecFinalAngle = vecDestAngle;	m_flAngularMoveSpeed = flSpeed;//	if ((m_pMoveWith || m_pChildMoveWith))// && !bNow)//	{//		ALERT(at_console,"Setting AngularMoveNow to happen after %f/n",gpGlobals->time);	SetThink(&CBaseToggle :: AngularMoveNow );	UTIL_DesiredThink( this );//	ExternalThink( 0.01 );//		pev->nextthink = pev->ltime + 0.01;//	}//	else//	{//		AngularMoveNow(); // starring Martin Sheen and Marlon Brando//	}}
开发者ID:Hammermaps-DEV,项目名称:Spirit-of-Half-Life-1.8--VC2010,代码行数:30,


示例15: LinearMove

void CBaseToggle ::  LinearMove( Vector	vecInput, float flSpeed, float flAccel, float flDecel )//, BOOL bNow )  // AJH Call this to use acceleration{//	ALERT(at_console, "LMove %s: %f %f %f, speed %f, accel %f /n", STRING(pev->targetname), vecInput.x, vecInput.y, vecInput.z, flSpeed, flAccel);	ASSERTSZ(flSpeed != 0, "LinearMove:  no speed is defined!");//	ASSERTSZ(m_pfnCallWhenMoveDone != NULL, "LinearMove: no post-move function defined");	m_flLinearMoveSpeed = flSpeed;	m_flLinearAccel = flAccel;	m_flLinearDecel = flDecel;	m_flCurrentTime = 0;		if(m_flLinearAccel>0){		m_flAccelTime = m_flLinearMoveSpeed/m_flLinearAccel;	}else{		m_flLinearAccel=-1;		m_flAccelTime=0;	}	if(m_flLinearDecel>0){	m_flDecelTime = m_flLinearMoveSpeed/m_flLinearDecel;	}else{		m_flLinearDecel=-1;		m_flDecelTime=0;	}	m_vecFinalDest = vecInput;//	if ((m_pMoveWith || m_pChildMoveWith))// && !bNow)//	{//		ALERT(at_console,"Setting LinearMoveNow to happen after %f/n",gpGlobals->time);		SetThink(&CBaseToggle :: LinearMoveNow );		UTIL_DesiredThink( this );		//pev->nextthink = pev->ltime + 0.01;//	}//	else//	{//		LinearMoveNow(); // starring Martin Sheen and Marlon Brando//	}}
开发者ID:Hammermaps-DEV,项目名称:Spirit-of-Half-Life-1.8--VC2010,代码行数:39,


示例16: InitTrigger

//-----------------------------------------------------------------------------// Purpose: Called when spawning, after keyvalues have been handled.//-----------------------------------------------------------------------------void CASW_Use_Area::Spawn( void ){	m_bUseAreaEnabled = !m_bDisabled;	m_bDisabled = false;	// don't allow normal triggerish disabling	BaseClass::Spawn();	InitTrigger();	if (m_flWait <= 0)	{				m_flWait = 0.2;	}		ASSERTSZ(m_iHealth == 0, "trigger_multiple with health");			AddEFlags( EFL_FORCE_CHECK_TRANSMIT );		// find the target this use area is attached to	m_hUseTarget = gEntList.FindEntityByName(NULL, m_iUseTargetName, NULL);	//Assert(!m_hUseTarget);	m_hPanelProp = gEntList.FindEntityByName( NULL, m_szPanelPropName );		m_bMultiplePanelProps = gEntList.FindEntityByName( m_hPanelProp.Get(), m_szPanelPropName ) != NULL;}
开发者ID:Cre3per,项目名称:hl2sdk-csgo,代码行数:27,


示例17: ASSERTSZ

CInOutRegister *CInOutRegister::Prune( void ){	if ( m_hValue )	{		ASSERTSZ(m_pNext != NULL, "invalid InOut registry terminator/n");		if ( m_pField->Intersects(m_hValue) )		{			// this entity is still inside the field, do nothing			m_pNext = m_pNext->Prune();			return this;		}		else		{			// this entity has just left the field, trigger			m_pField->FireOnLeave( m_hValue );			SetThink( Remove );			SetNextThink( 0.1 );			return m_pNext->Prune();		}	}	else	{	// this register has a missing or null value		if (m_pNext)		{			// this is an invalid list entry, remove it			SetThink( Remove );			SetNextThink( 0.1 );			return m_pNext->Prune();		}		else		{			// this is the list terminator, leave it.			return this;		}	}}
开发者ID:a1batross,项目名称:Xash3D_ancient,代码行数:36,


示例18: Spawn

void CRotDoor :: Spawn( void ){	// set the axis of rotation	AxisDir( pev );	if( FBitSet( pev->spawnflags, SF_DOOR_PASSABLE ))		pev->solid = SOLID_NOT;	else pev->solid = SOLID_BSP;	Precache();	// check for clockwise rotation	if( FBitSet( pev->spawnflags, SF_DOOR_ROTATE_BACKWARDS ))		pev->movedir = pev->movedir * -1;		m_vecAngle1 = GetLocalAngles();	m_vecAngle2 = GetLocalAngles() + pev->movedir * m_flMoveDistance;	ASSERTSZ( m_vecAngle1 != m_vecAngle2, "rotating door start/end positions are equal" );	pev->movetype = MOVETYPE_PUSH;	SET_MODEL( edict(), GetModel() );	// NOTE: original Half-Life was contain a bug in AngularMove function	// while m_flWait was equal 0 then object has stopped forever. See code from quake:	/*		void AngularMove( Vector vecDest, float flSpeed )		{			...			...			...			if( flTravelTime < 0.1f )			{				pev->avelocity = g_vecZero;				pev->nextthink = pev->ltime + 0.1f;				return;			}		}	*/	// this block was removed from Half-Life and there no difference	// between wait = 0 and wait = -1. But in Xash this bug was fixed	// and level-designer errors is now actual. I'm set m_flWait to -1 for compatibility	if( m_flWait == 0.0f )		m_flWait = -1;	if( pev->speed == 0 )		pev->speed = 100;		// DOOR_START_OPEN is to allow an entity to be lighted in the closed position	// but spawn in the open position	if( FBitSet( pev->spawnflags, SF_DOOR_START_OPEN ))	{		// swap pos1 and pos2, put door at pos2, invert movement direction		Vector vecNewAngles = m_vecAngle2;		m_vecAngle2 = m_vecAngle1;		m_vecAngle1 = vecNewAngles;		pev->movedir = pev->movedir * -1;		// We've already had our physics setup in BaseClass::Spawn, so teleport to our		// current position. If we don't do this, our vphysics shadow will not update.		Teleport( NULL, &m_vecAngle1, NULL );	}	else	{		SetLocalAngles( m_vecAngle1 );	}	m_iState = STATE_OFF;	RelinkEntity();	m_pUserData = WorldPhysic->CreateKinematicBodyFromEntity( this );	if( FBitSet( pev->spawnflags, SF_DOOR_USE_ONLY ))	{		SetTouch( NULL );	}	else	{		// touchable button		SetTouch( DoorTouch );	}}
开发者ID:XashDev,项目名称:XashXT,代码行数:81,


示例19: SetBits

void CBaseDoor::Spawn( void ){	if( pev->skin == CONTENTS_NONE )	{		// normal door		if( FBitSet( pev->spawnflags, SF_DOOR_PASSABLE ))			pev->solid = SOLID_NOT;		else			pev->solid = SOLID_BSP;	}	else	{		SetBits( pev->spawnflags, SF_DOOR_SILENT );		pev->solid = SOLID_NOT; // special contents	}	Precache();	pev->movetype = MOVETYPE_PUSH;	SET_MODEL( edict(), GetModel() );	// NOTE: original Half-Life was contain a bug in LinearMove function	// while m_flWait was equal 0 then object has stopped forever. See code from quake:	/*		void LinearMove( Vector vecDest, float flSpeed )		{			...			...			...			if( flTravelTime < 0.1f )			{				pev->velocity = g_vecZero;				pev->nextthink = pev->ltime + 0.1f;				return;			}		}	*/	// this block was removed from Half-Life and there no difference	// between wait = 0 and wait = -1. But in Xash this bug was fixed	// and level-designer errors is now actual. I'm set m_flWait to -1 for compatibility	if( m_flWait == 0.0f )		m_flWait = -1;	if( pev->speed == 0 )		pev->speed = 100;	if( pev->movedir == g_vecZero )		pev->movedir = Vector( 1.0f, 0.0f, 0.0f );	m_vecPosition1 = GetLocalOrigin();	// Subtract 2 from size because the engine expands bboxes by 1 in all directions making the size too big	Vector vecSize = pev->size - Vector( 2, 2, 2 );	m_vecPosition2 = m_vecPosition1 + (pev->movedir * (DotProductAbs( pev->movedir, vecSize ) - m_flLip));	ASSERTSZ( m_vecPosition1 != m_vecPosition2, "door start/end positions are equal" );	if( FBitSet( pev->spawnflags, SF_DOOR_START_OPEN ))	{			UTIL_SetOrigin( this, m_vecPosition2 );		m_vecPosition2 = m_vecPosition1;		m_vecPosition1 = GetLocalOrigin();	}	else	{		UTIL_SetOrigin( this, m_vecPosition1 );	}	// another hack: PhysX 2.8.4.0 crashed while trying to created kinematic body from this brush-model	if ( FStrEq( STRING( gpGlobals->mapname ), "c2a5e" ) && FStrEq( STRING( pev->model ), "*103" ));	else m_pUserData = WorldPhysic->CreateKinematicBodyFromEntity( this );	m_iState = STATE_OFF;	// if the door is flagged for USE button activation only, use NULL touch function	if( FBitSet( pev->spawnflags, SF_DOOR_USE_ONLY ))	{		SetTouch( NULL );	}	else	{		// touchable button		SetTouch( DoorTouch );	}}
开发者ID:XashDev,项目名称:XashXT,代码行数:84,


示例20: Spawn

void CPathCorner :: Spawn( ){	ASSERTSZ(!FStringNull(pev->targetname), "path_corner without a targetname");}
开发者ID:6779660,项目名称:halflife,代码行数:4,


示例21: ASSERTSZ

//-----------------------------------------------------------------------------// Purpose: //-----------------------------------------------------------------------------void CPathCorner::Spawn( void ){	ASSERTSZ(GetEntityName() != NULL_STRING, "path_corner without a targetname");}
开发者ID:AluminumKen,项目名称:hl2sb-src,代码行数:7,


示例22: MakeButtonSound

void CRotButton::Spawn( void ){	//----------------------------------------------------	//determine sounds for buttons	//a sound of 0 should not make a sound	//----------------------------------------------------	if ( m_sounds )	{		m_sNoise = MakeButtonSound( m_sounds );		PrecacheScriptSound(m_sNoise.ToCStr());	}	else	{		m_sNoise = NULL_STRING;	}	// set the axis of rotation	CBaseToggle::AxisDir();	// check for clockwise rotation	if ( HasSpawnFlags( SF_DOOR_ROTATE_BACKWARDS) )	{		m_vecMoveAng = m_vecMoveAng * -1;	}	SetMoveType( MOVETYPE_PUSH );	#ifdef HL1_DLL	SetSolid( SOLID_BSP );#else	SetSolid( SOLID_VPHYSICS );#endif	if ( HasSpawnFlags( SF_ROTBUTTON_NOTSOLID ) )	{		AddEFlags( EFL_USE_PARTITION_WHEN_NOT_SOLID );		AddSolidFlags( FSOLID_NOT_SOLID );	}	SetModel( STRING( GetModelName() ) );		if (m_flSpeed == 0)		m_flSpeed = 40;	if (m_flWait == 0)		m_flWait = 1;	if (m_iHealth > 0)	{		m_takedamage = DAMAGE_YES;	}	m_toggle_state = TS_AT_BOTTOM;	m_vecAngle1	= GetLocalAngles();	m_vecAngle2	= GetLocalAngles() + m_vecMoveAng * m_flMoveDistance;	ASSERTSZ(m_vecAngle1 != m_vecAngle2, "rotating button start/end positions are equal/n");	m_fStayPushed = (m_flWait == -1 ? TRUE : FALSE);	m_fRotating = TRUE;	SetUse(&CRotButton::ButtonUse);	//	// If touching activates the button, set its touch function.	//	if (!HasSpawnFlags(SF_BUTTON_TOUCH_ACTIVATES))	{		SetTouch ( NULL );	}	else	{		SetTouch( &CRotButton::ButtonTouch );	}	CreateVPhysics();}
开发者ID:xxauroraxx,项目名称:Source.Python,代码行数:75,



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


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