Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Visuals::RenderBacktrackedSkelet()
- {
- if (!g_Options.rage_lagcompensation)
- return;
- auto records = &CMBacktracking::Get().m_LagRecord[ESP_ctx.player->EntIndex()];
- if (records->size() < 2)
- return;
- studiohdr_t* studio_model = g_MdlInfo->GetStudiomodel(ESP_ctx.player->GetModel());
- if (studio_model) {
- for (auto record = records->begin(); record != records->end(); record++)
- {
- if (!CMBacktracking::Get().IsTickValid(TIME_TO_TICKS(record->m_flSimulationTime)))
- continue;
- const auto matrix = record->matrix;
- for (size_t i = 0; i < studio_model->numbones /*size_t(studio_model->numbones)*/; i++)
- {
- mstudiobone_t* pBone = studio_model->pBone(i);
- if (!pBone || !(pBone->flags & 256) || pBone->parent == -1)
- continue;
- Vector vBonePos1;
- if (!Math::WorldToScreen(Vector(matrix[i][0][3], matrix[i][1][3], matrix[i][2][3]), vBonePos1))
- continue;
- Vector vBonePos2;
- if (!Math::WorldToScreen(Vector(matrix[pBone->parent][0][3], matrix[pBone->parent][1][3], matrix[pBone->parent][2][3]), vBonePos2))
- continue;
- g_VGuiSurface->DrawSetColor(ESP_ctx.clr);
- g_VGuiSurface->DrawLine((int)vBonePos1.x, (int)vBonePos1.y, (int)vBonePos2.x, (int)vBonePos2.y);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement