Подведи собственные итоги года совместно с YOUGAME и забери ценные призы! Перейти

Что сломано в локал анимфиксе

  • Автор темы Автор темы Fuhrer1
  • Дата начала Дата начала
Участник
Участник
Статус
Оффлайн
Регистрация
2 Фев 2020
Сообщения
819
Реакции
378
Пожалуйста, авторизуйтесь для просмотра ссылки.
Код:
Expand Collapse Copy
auto OldCurtime = g_pGlobals->curtime;
    auto OldFrametime = g_pGlobals->framecount;
    auto OldFraction = local->get_anim_state()->unknown_fraction;
    local->get_anim_state()->unknown_fraction = 0;

    g_pGlobals->curtime = local->get_simtime();
    g_pGlobals->framecount = g_pGlobals->interval_per_tick;

    c_base_animating::animation_layer Layers[14];
    std::memcpy(Layers, local->get_animation_overlay(), (sizeof(c_base_animating::animation_layer) * 14));

    local->get_client_side_animation() = true;
    local->update_clientside_anim();
    local->get_client_side_animation() = false;

    //end
    std::memcpy(local->get_animation_overlay(), Layers, (sizeof(c_base_animating::animation_layer) * 14));

    g_pGlobals->curtime = OldCurtime;
    g_pGlobals->framecount = OldFrametime;

    local->get_anim_state()->unknown_fraction = OldFraction;
    local->set_abs_angles(c_qangle(0, local->get_anim_state()->goal_feet_yaw, 0));
на видео показан результат через thirdperson консоли
что не так как надо?
вызываю локал анимфикс в net_update_end
 
Последнее редактирование:
Пожалуйста, авторизуйтесь для просмотра ссылки.
Код:
Expand Collapse Copy
auto OldCurtime = g_pGlobals->curtime;
    auto OldFrametime = g_pGlobals->framecount;
    auto OldFraction = local->get_anim_state()->unknown_fraction;
    local->get_anim_state()->unknown_fraction = 0;

    g_pGlobals->curtime = local->get_simtime();
    g_pGlobals->framecount = g_pGlobals->interval_per_tick;

    c_base_animating::animation_layer Layers[14];
    std::memcpy(Layers, local->get_animation_overlay(), (sizeof(c_base_animating::animation_layer) * 14));

    if (local->get_anim_state())
        local->get_anim_state()->last_client_side_animation_update_framecount = g_pGlobals->framecount - 1;

    local->get_client_side_animation() = true;
    local->update_clientside_anim();
    local->get_client_side_animation() = false;

    //end
    std::memcpy(local->get_animation_overlay(), Layers, (sizeof(c_base_animating::animation_layer) * 14));

    g_pGlobals->curtime = OldCurtime;
    g_pGlobals->framecount = OldFrametime;

    local->get_anim_state()->unknown_fraction = OldFraction;
    local->set_abs_angles(c_qangle(0, local->get_anim_state()->goal_feet_yaw, 0));
на видео показан результат через thirdperson консоли
что не так как надо?
вызываю локал анимфикс в net_update_end
Он полностью неверный, анимации как локала так и других игроков нужно обновлять в крейтмуве, т.е. каждый тик. Дак и к тому же этот код не является анимфиксом, он является говном.
 
Назад
Сверху Снизу