コード例 #1
0
//-----------------------------------------------------------------------------
// Orients the gun correctly 
//-----------------------------------------------------------------------------
void C_ObjectBaseMannedGun::GetBoneControllers(float controllers[MAXSTUDIOBONECTRLS], float dadt)
{
	// turret angle values:
	// 0 = front, 90 = left, 180 = back, 270 = right
	studiohdr_t *pModel = modelinfo->GetStudiomodel( GetModel() );
	Studio_SetController(pModel, 0, m_flGunYaw,   controllers[0]);
	Studio_SetController(pModel, 1, m_flGunPitch, controllers[1]);

	if ( m_nMoveStyle == MOVEMENT_STYLE_BARREL_PIVOT )
	{
		Studio_SetController(pModel, 2, m_flBarrelPitch, controllers[2]);
	}
}
コード例 #2
0
ファイル: studio_utils.cpp プロジェクト: newroob/bg2-2007
float StudioModel::SetController( int iController, float flValue )
{
	CStudioHdr *pStudioHdr = GetStudioHdr();
	if (!pStudioHdr)
		return 0.0f;

	return Studio_SetController( pStudioHdr, iController, flValue, m_controller[iController] );
}
コード例 #3
0
//-----------------------------------------------------------------------------
// Purpose: 
//-----------------------------------------------------------------------------
void C_ObjectSentrygun::GetBoneControllers(float controllers[MAXSTUDIOBONECTRLS])
{
	studiohdr_t *pModel = modelinfo->GetStudiomodel( GetModel() );

	// When yaw preview is on,
	if (!IsPreviewingYaw())
	{
		Studio_SetController(pModel, 0, m_fBoneXRotator, controllers[0]);
	}
	else
	{
		// Bone rotation == 0 here to make it exactly match the preview
		Studio_SetController(pModel, 0, 0, controllers[0]);
	}

	Studio_SetController(pModel, 1, m_fBoneYRotator, controllers[1]);
	Studio_SetController(pModel, 2, m_fBoneYRotator, controllers[2]);
	Studio_SetController(pModel, 3, m_fBoneYRotator, controllers[3]);
}