-
Автор темы
- #1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
like some p2cs
C++:
auto move_distance = record->m_velocity.length( 2u ) / ( record->m_layers.at( 6u ).m_playback_rate / valve::g_global_vars->m_interval_per_tick );
auto move_yaw = record->m_pose_params.at( 7u );
auto move_distance_min = record->m_player->get_seq_move_dist( record->m_layers.at( 6u ).m_sequence );
if ( move_distance >= move_distance_min )
{
auto best_delta = FLT_MAX;
auto best_move = FLT_MAX;
for ( auto i = 0.0f; i < 1.0f; i += 0.001f )
{
move_yaw = i;
auto server_playback_rate = g_anim_sync->calculate_playback_rate( record->m_player, i );
auto playback_rate_delta = std::fabsf( server_playback_rate - record->m_layers.at( 6u ).m_playback_rate );
if ( best_delta > playback_rate_delta )
{
best_move = i;
best_delta = playback_rate_delta;
}
record->m_pose_params.at( 7u ) = move_yaw;
}
if ( best_move == FLT_MAX
|| best_delta == FLT_MAX )
return;
/* теперь сами логику додумывайте -________- */
}