Advertisement
Guest User

Untitled

a guest
Apr 1st, 2020
174
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.56 KB | None | 0 0
  1. void Resolver::AnimationFix(CUserCmd* pCmd)
  2. {
  3. const auto p_local = Interfaces::EntityList->m_pGetClientEntity(Interfaces::Engine->GetLocalPlayer());
  4.  
  5. if (!p_local)
  6. return;
  7.  
  8. if (p_local->m_iHealth() <= 0)
  9. {
  10. p_local->UpdateClientSideAnimations();
  11. return;
  12. }
  13.  
  14. static CAnimationLayer backup_layers[15];
  15.  
  16. if (!backup_layers)
  17. std::memcpy(backup_layers, p_local->m_pAnimOverlay(), (sizeof(CAnimationLayer) * 15));
  18.  
  19. static auto fl_proper_abs = p_local->m_pAnimState()->m_flGoalFeetYaw;
  20. static auto sent_pose_params = p_local->m_flPoseParameter();
  21. static auto i_old_tick_count = 0;
  22.  
  23. if (p_local->m_pAnimState()->m_iLastClientSideAnimationUpdateFramecount == Interfaces::GlobalVars->framecount)
  24. p_local->m_pAnimState()->m_iLastClientSideAnimationUpdateFramecount -= 1;
  25.  
  26. if (pCmd->tick_count != i_old_tick_count)
  27. {
  28. i_old_tick_count = pCmd->tick_count;
  29. std::memcpy(backup_layers, p_local->m_pAnimOverlay(), (sizeof(CAnimationLayer) * 15));
  30. p_local->m_bClientSideAnimation() = true;
  31. p_local->UpdateState(p_local->m_pAnimState(), pCmd->viewangles);
  32.  
  33. if (Globals::bSendPacket)
  34. {
  35. fl_proper_abs = p_local->m_pAnimState()->m_flGoalFeetYaw;
  36. sent_pose_params = p_local->m_flPoseParameter();
  37. }
  38. }
  39.  
  40. p_local->m_bClientSideAnimation() = false;
  41. p_local->m_pAnimState()->m_flFeetYawRate = 0.f;
  42. p_local->SetAbsAngles(Vec3D(0, fl_proper_abs, 0));
  43. p_local->m_pAnimState()->m_flMagicFraction = 0.f;
  44. std::memcpy(p_local->GetAnimOverlays4(), backup_layers, (sizeof(CAnimationLayer) * 15));
  45. p_local->m_flPoseParameter() = sent_pose_params;
  46. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement