Advertisement
Guest User

Untitled

a guest
Mar 22nd, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. void Visuals::RenderBacktrackedSkelet()
  2. {
  3. if (!g_Options.rage_lagcompensation)
  4. return;
  5.  
  6. auto records = &CMBacktracking::Get().m_LagRecord[ESP_ctx.player->EntIndex()];
  7.  
  8. if (records->size() < 2)
  9. return;
  10.  
  11. studiohdr_t* studio_model = g_MdlInfo->GetStudiomodel(ESP_ctx.player->GetModel());
  12.  
  13. if (studio_model) {
  14. for (auto record = records->begin(); record != records->end(); record++)
  15. {
  16. if (!CMBacktracking::Get().IsTickValid(TIME_TO_TICKS(record->m_flSimulationTime)))
  17. continue;
  18.  
  19. const auto matrix = record->matrix;
  20.  
  21. for (size_t i = 0; i < studio_model->numbones /*size_t(studio_model->numbones)*/; i++)
  22. {
  23. mstudiobone_t* pBone = studio_model->pBone(i);
  24. if (!pBone || !(pBone->flags & 256) || pBone->parent == -1)
  25. continue;
  26.  
  27. Vector vBonePos1;
  28. if (!Math::WorldToScreen(Vector(matrix[i][0][3], matrix[i][1][3], matrix[i][2][3]), vBonePos1))
  29. continue;
  30.  
  31. Vector vBonePos2;
  32. if (!Math::WorldToScreen(Vector(matrix[pBone->parent][0][3], matrix[pBone->parent][1][3], matrix[pBone->parent][2][3]), vBonePos2))
  33. continue;
  34.  
  35. g_VGuiSurface->DrawSetColor(ESP_ctx.clr);
  36. g_VGuiSurface->DrawLine((int)vBonePos1.x, (int)vBonePos1.y, (int)vBonePos2.x, (int)vBonePos2.y);
  37. }
  38. }
  39. }
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement