//----------------------------------------------------------------------------- // 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]); } }
float StudioModel::SetController( int iController, float flValue ) { CStudioHdr *pStudioHdr = GetStudioHdr(); if (!pStudioHdr) return 0.0f; return Studio_SetController( pStudioHdr, iController, flValue, m_controller[iController] ); }
//----------------------------------------------------------------------------- // 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]); }