- Статус
- Оффлайн
- Регистрация
- 16 Дек 2018
- Сообщения
- 1,009
- Реакции
- 178
что вы можете сказать по поводу этого куска кода и насколько он правилен
C++:
void __stdcall Resolver(int localplayer_1)
{
// [COLLAPSED LOCAL DECLARATIONS. PRESS KEYPAD CTRL-"+" TO EXPAND]
animstate = GetAnimState(localplayer_1);
if ( animstate )
{ // inlined max_desync_delta
v9 = absolute_mask(COERCE_INT(animstate->last_client_side_animation_update_framecount - animstate->last_client_side_animation_update_time));
speedfraction = 0.0;
if ( animstate->feet_speed_forwards_or_sideways < 0.0 )
speedfraction = 0.0;
else
speedfraction = fminf(LODWORD(animstate->feet_speed_forwards_or_sideways), 0x3F800000);
v2 = (*animstate->pad_0x0120 * -0.30000001 - 0.19999999) * speedfraction;
v18 = v2;
v3 = v2 + 1.0;
v23 = v3;
if ( animstate->duck_amount > 0.0 )
{
v29 = 0.0;
if ( animstate->feet_speed_unknown_forwards_or_sideways < 0.0 )
v29 = 0.0;
else
v29 = fminf(LODWORD(animstate->feet_speed_unknown_forwards_or_sideways), 0x3F800000);
}
GetClientEnt = *(*g_EntityList + 12);
localplayer_index = (*(*g_EngineClient + 48))(g_EngineClient);// GetLocalPlayer
localplayer = GetClientEnt(g_EntityList, localplayer_index);
if ( localplayer )
{
for ( i = 0; i <= *(g_GlobalVars + 24); ++i )
{
GetClientEntity = *(*g_EntityList + 12);
player = GetClientEntity(g_EntityList, i);
if ( player && IsAlive(player) && !(*(*(player + 8) + 36))(player + 8) )// dormant
{
v28 = m_angEyeAngles(player)->y == 0.0 ? -58 : 58;
if ( v28 )
return;
v27 = m_angEyeAngles(player)->y == 0.0 ? -89 : 89;
if ( v27 )
return;
v26 = m_angEyeAngles(player)->y == 0.0 ? -79 : 79;
if ( v26 )
return;
v25 = m_angEyeAngles(player)->y == 0.0 ? -125 : 125;
if ( v25 )
return;
v24 = m_angEyeAngles(player)->y == 0.0 ? -78 : 78;
if ( v24 )
return;
}
}
v8 = 0;
v7 = 0;
for ( a2a = 0; a2a < GetNumAnimLayers(); ++a2a )
{
v32 = GetAnimLayer(localplayer_1, a2a);
if ( v32 && m_nSequence_0(localplayer_1) == 979 && *(v32 + 44) != *(v32 + 28) )
v6 = m_flLowerBodyYawTarget(localplayer_1);
}
v20 = SLOBYTE(animstate->velocity_subtract_z) * v23;
a1 = SLOBYTE(animstate->velocity_subtract_y) * v23;
v30 = 0.0;
eye_angles_y = animstate->eye_angles_y;
goal_feet_yaw = animstate->goal_feet_yaw;
v22 = absolute_mask(COERCE_INT(eye_angles_y - goal_feet_yaw));
if ( v20 < v22 )
{
v11 = absolute_mask(SLODWORD(v20));
v30 = eye_angles_y - v11;
}
else if ( a1 > v22 )
{
v12 = absolute_mask(SLODWORD(a1));
v30 = v12 + eye_angles_y;
}
v36 = std::fmodf(SLODWORD(v30), 360.0);
if ( v36 > 180.0 )
v36 = v36 - 360.0;
if ( v36 < 180.0 )
v36 = v36 + 360.0;
animstate->goal_feet_yaw = v36;
if ( missed_shots[(*(*(localplayer_1 + 8) + 40))(localplayer_1 + 8)] > 2 )
{
v19 = missed_shots[(*(*(localplayer_1 + 8) + 40))(localplayer_1 + 8)] % 4;
switch ( v19 )
{
case 0:
animstate->goal_feet_yaw = animstate->goal_feet_yaw + 45.0;
break;
case 1:
animstate->goal_feet_yaw = animstate->goal_feet_yaw - 45.0;
break;
case 2:
animstate->goal_feet_yaw = animstate->goal_feet_yaw - 30.0;
break;
case 3:
animstate->goal_feet_yaw = animstate->goal_feet_yaw + 30.0;
break;
default:
return;
}
}
}
}
}