float Scale = GetPointScale(bbox->radius, &g_ctx.local()->m_angEyeAngles(), &vecCenter, iIndex); // Need imroive & fixe's
if (Scale > 0.f) {
QAngle curAngles = math::CalcAngle(vecCenter, g_ctx.local()->m_angEyeAngles()); // Need improve ( weapon shoot position ) .
Vector forward;
math::AngleVectors1(curAngles, forward);
const auto Right = forward.Cross(Vector(0, 0, 1));
const auto Left = Vector(-Right.x, -Right.y, Right.z);
const auto Top = Vector(0, 0, 1);
switch (iIndex) {
case HITBOX_HEAD:
points.emplace_back(scan_point(Top * Scale, hitbox, false));
points.emplace_back(scan_point(Right * Scale, hitbox, false));
points.emplace_back(scan_point(Left * Scale, hitbox, false));
break;
case HITBOX_NECK:
break;
case HITBOX_UPPER_CHEST:
case HITBOX_STOMACH:
case HITBOX_CHEST:
case HITBOX_PELVIS:
points.emplace_back(scan_point(Right * Scale, hitbox, false));
points.emplace_back(scan_point(Left * Scale, hitbox, false));
//points.emplace_back(scan_point(Right * Scale, hitbox, false));
break;
case HITBOX_LEFT_THIGH:
case HITBOX_RIGHT_THIGH:
case HITBOX_LEFT_CALF:
case HITBOX_RIGHT_CALF:
case HITBOX_RIGHT_FOOT:
case HITBOX_LEFT_FOOT:
case HITBOX_RIGHT_HAND:
case HITBOX_LEFT_HAND:
case HITBOX_LEFT_UPPER_ARM:
case HITBOX_RIGHT_UPPER_ARM:
case HITBOX_LEFT_FOREARM:
case HITBOX_RIGHT_FOREARM:
break;
default:
points.emplace_back(scan_point(Right * Scale, hitbox, false));
//points.emplace_back(scan_point(center + Left, hitbox, false));
points.emplace_back(scan_point(Left * Scale, hitbox, false));
// points.emplace_back(scan_point((vecCenter + (Left * Scale, hitbox, false))));
break;
}
}