Исходник Velocity sync via 6-th and 11-th layer from onetap.pasta v4

Забаненный
Забаненный
Статус
Оффлайн
Регистрация
22 Сен 2025
Сообщения
19
Реакции
1
Обратите внимание, пользователь заблокирован на форуме. Не рекомендуется проводить сделки.
i dont need that anymore(because this game is already dead lol)
C++:
Expand Collapse Copy
/* velocity interpolation here... */

/* some notes;
since i too lazy to do the last little shit i'll explain it here (something like a reader assignment?)
and so the last m_velocity_in_processing onetap sets to 5
after did the linear interpolation.
*/

if ( record->m_anim_layers.at( 6u ).m_weight == 0.f ) {
    record->m_velocity = {};
    record->m_velocity_in_processing = 1;
    
    return;
}

const auto loop_weight = record->m_anim_layers.at( 11u ).m_weight;
const auto average_speed = record->m_velocity.length_2d( );

if ( loop_weight > 0.f
   && loop_weight < 1.f ) {
    const auto modifier = ( 1.f - loop_weight ) * 0.35f;
    if ( modifier > 0.f
       && modifier < 1.f ) {
        const auto speed_as_portion_of_run_top_speed = ( ( modifier + 0.55f ) * m_max_wpn_speed ) / average_speed;
        
        record->m_velocity_in_processing = 4;
        record->m_velocity.x *= speed_as_portion_of_run_top_speed;
        record->m_velocity.y *= speed_as_portion_of_run_top_speed;
    }
}

const auto move_weight = record->m_anim_layers.at( 6u ).m_weight;
if ( move_weight >= 0.1f ) {
    if ( ( loop_weight <= 0.f
          || loop_weight >= 1.f )
          && average_speed >= 0.1f ) {
        const auto prev_loop_weight = previous->m_anim_layers.at( 11u ).m_weight;
        if ( loop_weight == prev_loop_weight
           && loop_weight > 0.f
           && loop_weight < 1.f ) {
            const auto duck_modifier = m_max_wpn_speed * 0.34f;
            const auto speed_multiplier = std::max( 0.f, ( m_max_wpn_speed * 0.52f ) - duck_modifier );
            
            const auto loop_duck_amount = 1.f - record->m_duck_amount;
            
            const auto speed_modifier = ( ( ( loop_duck_amount * speed_multiplier )
                                          + loop_duck_amount ) * loop_weight ) / average_speed;
            
            record->m_velocity_in_processing = 3;
            record->m_velocity.x *= speed_modifier;
            record->m_velocity.y *= speed_modifier;
        }
        
        if ( loop_weight > prev_loop_weight
           && loop_weight > 0.f
           && loop_weight < 1.f ) {
            const auto duck_modifier = m_max_wpn_speed * 0.34f;
            const auto speed_multiplier = std::max( 0.f, ( m_max_wpn_speed * 0.52f ) - duck_modifier );
            
            const auto loop_duck_amount = 1.f - record->m_duck_amount;
            
            const auto speed_modifier = ( ( ( loop_duck_amount * speed_multiplier )
                                          + loop_duck_amount ) * loop_weight ) / average_speed;
            
            record->m_velocity_in_processing = 2;
            record->m_velocity.x *= speed_modifier;
            record->m_velocity.y *= speed_modifier;
        }
    }
}
 
Назад
Сверху Снизу