@@ -356,7 +356,7 @@ void CMDLPanel::DrawCollisionModel()
356356
357357 matrix3x4_t pBoneToWorld[MAXSTUDIOBONES];
358358#ifdef BDSBASE
359- SetupBones (m_RootMDL, MAXSTUDIOBONES, pBoneToWorld);
359+ SetupBones (m_RootMDL, pBoneToWorld);
360360#else
361361 m_RootMDL.m_MDL .SetUpBones (m_RootMDL.m_MDLToWorld , MAXSTUDIOBONES, pBoneToWorld);
362362#endif
@@ -482,7 +482,7 @@ void CMDLPanel::OnPaint3D()
482482
483483 matrix3x4_t *pBoneToWorld = g_pStudioRender->LockBoneMatrices ( studioHdr.numbones () );
484484#ifdef BDSBASE
485- SetupBones (m_RootMDL, studioHdr. numbones (), pBoneToWorld, m_PoseParameters, m_SequenceLayers, m_nNumSequenceLayers);
485+ SetupBones (m_RootMDL, pBoneToWorld, m_PoseParameters, m_SequenceLayers, m_nNumSequenceLayers);
486486#else
487487 m_RootMDL.m_MDL .SetUpBones (m_RootMDL.m_MDLToWorld , studioHdr.numbones (), pBoneToWorld, m_PoseParameters, m_SequenceLayers, m_nNumSequenceLayers);
488488#endif
@@ -1007,7 +1007,7 @@ void CMDLPanel::ValidateMDLs()
10071007}
10081008
10091009#ifdef BDSBASE
1010- void CMDLPanel::SetupBones (MDLData_t& mdlData, int nMaxBoneCount, matrix3x4_t * pBoneToWorld,
1010+ void CMDLPanel::SetupBones (MDLData_t& mdlData, matrix3x4_t * pBoneToWorld,
10111011 const float * pflPoseParameters /* = NULL*/ , MDLSquenceLayer_t* pSequenceLayers /* = NULL*/ , int nNumSequenceLayers /* = 0*/ )
10121012{
10131013 CMDL& mdl = mdlData.m_MDL ;
@@ -1023,21 +1023,19 @@ void CMDLPanel::SetupBones(MDLData_t& mdlData, int nMaxBoneCount, matrix3x4_t* p
10231023
10241024 QAngle renderAngles;
10251025 Vector renderOrigin;
1026- MatrixAngles (mdlData.m_MDLToWorld , renderAngles);
1027- MatrixPosition (mdlData.m_MDLToWorld , renderOrigin);
1026+ MatrixAngles (mdlData.m_MDLToWorld , renderAngles, renderOrigin);
10281027
1029- IBoneSetup boneSetup (pStudioHdr, BONE_USED_BY_ANYTHING , pflPoseParameters);
1028+ IBoneSetup boneSetup (pStudioHdr, BONE_USED_BY_ANYTHING_AT_LOD (mdl. m_nLOD ) , pflPoseParameters);
10301029
10311030 Vector pos[MAXSTUDIOBONES];
10321031 Quaternion q[MAXSTUDIOBONES];
10331032 boneSetup.InitPose (pos, q);
10341033
10351034 int nFrameCount = Studio_MaxFrame (pStudioHdr, mdl.m_nSequence , pflPoseParameters);
1036- float flPlaybackRate = Studio_FPS (pStudioHdr, mdl.m_nSequence , pflPoseParameters);
1037- float flCycle = (mdl.m_flTime * flPlaybackRate) / nFrameCount;
1035+ float flCycle = (mdl.m_flTime * mdl.m_flPlaybackRate ) / nFrameCount;
10381036 flCycle -= (int )flCycle;
10391037
1040- pIKContext->Init (pStudioHdr, renderAngles, renderOrigin, mdl.m_flTime , 0 , BONE_USED_BY_ANYTHING );
1038+ pIKContext->Init (pStudioHdr, renderAngles, renderOrigin, mdl.m_flTime , 0 , BONE_USED_BY_ANYTHING_AT_LOD (mdl. m_nLOD ) );
10411039
10421040 boneSetup.AccumulatePose (pos, q, mdl.m_nSequence , flCycle, 1 .0f , mdl.m_flTime , pIKContext);
10431041
@@ -1048,15 +1046,15 @@ void CMDLPanel::SetupBones(MDLData_t& mdlData, int nMaxBoneCount, matrix3x4_t* p
10481046 nFrameCount = Studio_MaxFrame (pStudioHdr, pSequenceLayers[i].m_nSequenceIndex , pflPoseParameters);
10491047 if (pSequenceLayers[i].m_bNoLoop )
10501048 {
1051- if (pSequenceLayers[i].m_flCycleBeganAt == 0 )
1049+ if (pSequenceLayers[i].m_flCycleBeganAt == . 0f )
10521050 pSequenceLayers[i].m_flCycleBeganAt = mdl.m_flTime ;
10531051
10541052 float flElapsedTime = mdl.m_flTime - pSequenceLayers[i].m_flCycleBeganAt ;
1055- flCycle = (flElapsedTime * flPlaybackRate ) / nFrameCount;
1053+ flCycle = (flElapsedTime * mdl. m_flPlaybackRate ) / nFrameCount;
10561054 }
10571055 else
10581056 {
1059- flCycle = (mdl.m_flTime * flPlaybackRate ) / nFrameCount;
1057+ flCycle = (mdl.m_flTime * mdl. m_flPlaybackRate ) / nFrameCount;
10601058 }
10611059 flCycle -= (int )flCycle;
10621060
@@ -1072,6 +1070,6 @@ void CMDLPanel::SetupBones(MDLData_t& mdlData, int nMaxBoneCount, matrix3x4_t* p
10721070 pIKContext->SolveDependencies (pos, q, pBoneToWorld, boneComputed);
10731071
10741072 Studio_RunBoneFlexDrivers (mdl.m_pFlexControls , pStudioHdr, pos, pBoneToWorld, mdlData.m_MDLToWorld );
1075- Studio_BuildMatrices (pStudioHdr, renderAngles, renderOrigin, pos, q, -1 , 1 .0f , pBoneToWorld, BONE_USED_BY_ANYTHING );
1073+ Studio_BuildMatrices (pStudioHdr, renderAngles, renderOrigin, pos, q, -1 , 1 .0f , pBoneToWorld, BONE_USED_BY_ANYTHING_AT_LOD (mdl. m_nLOD ) );
10761074}
10771075#endif
0 commit comments