void Visuals::DrawSkeleton(CBaseEntity* pEntity) {
void* pModel = pEntity->GetRenderable()->GetModel();
if (!pModel)
return;
studiohdr_t* pStudioMdl = g_pModelInfoClient->GetStudioModel(pModel);
if (!pStudioMdl)
return;
matrix3x4 matBones[128];
if (!pEntity->GetBoneMatrix(&matBones[0]))
return;
for (int i = 0; i < pStudioMdl->numbones; i++) {
mstudiobone_t* pBone = pStudioMdl->GetBone(i);
if (pBone && (pBone->flags & 0x100) && pBone->parent != -1) {
Vector vecParent, vecChild;
MatrixPosition(matBones[i], vecChildPos);
MatrixPosition(matBones[pBone->parent], vecParentPos)
if (Vector::ToScreen(vecChild) && Vector::ToScreen(vecParent))
DrawOverlay::DrawLine(vecChild.x, vecChild.y, vecParent.x, vecParent.y);
}
}
}
