if (g_ctx.local()->is_alive() && e->m_iTeamNum() != g_ctx.local()->m_iTeamNum() && !g_cfg.legitbot.enabled)
{
animstate->m_flGoalFeetYaw = previous_goal_feet_yaw[e->EntIndex()]; //-V807
g_ctx.globals.updating_animation = true;
e->update_clientside_animation();
g_ctx.globals.updating_animation = false;
previous_goal_feet_yaw[e->EntIndex()] = animstate->m_flGoalFeetYaw;
memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));
memcpy(record->side_layers[0], e->get_animlayers(), e->animlayer_count() * sizeof(AnimationLayer));
animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y); //-V807
g_ctx.globals.updating_animation = true;
e->update_clientside_animation();
g_ctx.globals.updating_animation = false;
setup_matrix(e, animlayers, NONE);
memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));
record->right_side = e->get_animation_state()->m_flGoalFeetYaw;
record->right_poses = e->m_flPoseParameter();
memcpy(record->side_layers[1], e->get_animlayers(), e->animlayer_count() * sizeof(AnimationLayer));
memcpy(record->rightmatrixes, e->m_CachedBoneData().Base(), e->m_CachedBoneData().Count() * sizeof(matrix3x4_t));
animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y + 60.0f);
g_ctx.globals.updating_animation = true;
e->update_clientside_animation();
g_ctx.globals.updating_animation = false;
setup_matrix(e, animlayers, FIRST);
memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));
record->left_side = e->get_animation_state()->m_flGoalFeetYaw;
record->left_poses = e->m_flPoseParameter();
memcpy(record->side_layers[2], e->get_animlayers(), e->animlayer_count() * sizeof(AnimationLayer));
memcpy(record->leftmatrixes, e->m_CachedBoneData().Base(), e->m_CachedBoneData().Count() * sizeof(matrix3x4_t));
animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - 60.0f);
g_ctx.globals.updating_animation = true;
e->update_clientside_animation();
g_ctx.globals.updating_animation = false;
setup_matrix(e, animlayers, SECOND);
memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));
player_resolver[e->EntIndex()].initialize(e, record, previous_goal_feet_yaw[e->EntIndex()], e->m_angEyeAngles().x);
player_resolver[e->EntIndex()].resolve();
//player_resolver[e->EntIndex()].initialize(e, record, e->m_angEyeAngles().x);
//player_resolver[e->EntIndex()].ResolveAngles();
/// <summary>
/// //////////////
/// </summary>
/// <param name="e"></param>
float delta[65];
delta[e->EntIndex()] = e->get_max_desync_delta();
if (delta[e->EntIndex()] < 10)
delta[e->EntIndex()] = 0;
/// <summary>
/// ///////////
/// </summary>
/// <param name="e"></param>
switch (record->side)
{
case RESOLVER_ORIGINAL:
animstate->m_flGoalFeetYaw = previous_goal_feet_yaw[e->EntIndex()];
break;
case RESOLVER_ZERO:
animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y);
break;
case RESOLVER_FIRST:
animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y + e->get_max_desync_delta());
break;
case RESOLVER_SECOND:
animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - e->get_max_desync_delta());
break;
case RESOLVER_LOW_FIRST:
animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y + e->get_max_desync_delta() * 0.45);
break;
case RESOLVER_LOW_SECOND:
animstate->m_flGoalFeetYaw = math::normalize_yaw(e->m_angEyeAngles().y - e->get_max_desync_delta() * 0.45);
break;
}
}