| 313 | } |
| 314 | |
| 315 | void CCar::SDoor::ClosedToOpening() |
| 316 | { |
| 317 | if (!joint) |
| 318 | return; |
| 319 | if (joint->bActive) |
| 320 | return; |
| 321 | Fmatrix door_form, root_form; |
| 322 | IKinematics* pKinematics = smart_cast<IKinematics*>(pcar->Visual()); |
| 323 | // CBoneData& bone_data= pKinematics->LL_GetData(u16(bone_id)); |
| 324 | CBoneInstance& bone_instance = pKinematics->LL_GetBoneInstance(u16(bone_id)); |
| 325 | bone_instance.set_callback(bctPhysics, pcar->PPhysicsShell()->GetBonesCallback(), joint->PSecond_element()); |
| 326 | |
| 327 | door_form.set(bone_instance.mTransform); |
| 328 | // door_form.mulB(pcar->XFORM()); |
| 329 | joint->PSecond_element()->mXFORM.set(door_form); |
| 330 | pcar->m_pPhysicsShell->GetGlobalTransformDynamic(&root_form); |
| 331 | joint->PSecond_element()->Activate(root_form, false); |
| 332 | pcar->m_pPhysicsShell->Enable(); |
| 333 | joint->Activate(); |
| 334 | pKinematics->CalculateBones(); |
| 335 | } |
| 336 | |
| 337 | void CCar::SDoor::ClosingToClosed() |
| 338 | { |
nothing calls this directly
no test coverage detected