Вопрос Ошибка матрицы Legendware

Начинающий
Статус
Оффлайн
Регистрация
29 Июн 2021
Сообщения
4
Реакции[?]
0
Поинты[?]
0
Итак, я попытался улучшить исправление анимации и начал устанавливать новую матрицу (установочная матрица (e, animlayer, ZERO/FIRST/SECOND)

после того, как я это сделал, я попытался отладить через Bone ESP, если он работает правильно и: он показывает линии на всей карте. Работает только основная матрица.

C++:
        memcpy(&e->m_flPoseParameter(), pose_parametrs, 24 * sizeof(float));

        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));
        memcpy(player_resolver[e->EntIndex()].resolver_layers[0], e->get_animlayers(), 13 * sizeof(AnimationLayer));

        memcpy(&e->m_flPoseParameter(), pose_parametrs, 24 * sizeof(float));
        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;

        record->right_poses = e->m_flPoseParameter();
        e->invalidate_bone_cache();
        setup_matrix(e, animlayers, FIRST);
        memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));
        memcpy(player_resolver[e->EntIndex()].resolver_layers[1], e->get_animlayers(), 13 * sizeof(AnimationLayer));

        memcpy(&e->m_flPoseParameter(), pose_parametrs, 24 * sizeof(float));
        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;

        record->left_poses = e->m_flPoseParameter();
        setup_matrix(e, animlayers, SECOND);
   
        memcpy(animstate, &state, sizeof(c_baseplayeranimationstate));
        memcpy(player_resolver[e->EntIndex()].resolver_layers[2], e->get_animlayers(), 13 * sizeof(AnimationLayer));

        memcpy(&e->m_flPoseParameter(), pose_parametrs, 24 * sizeof(float));
        player_resolver[e->EntIndex()].start();
        //goal feet yaw get's set there.
    }

    g_ctx.globals.updating_animation = true;
    e->update_clientside_animation();
    g_ctx.globals.updating_animation = false;

    setup_matrix(e, animlayers, MAIN);
    memcpy(e->m_CachedBoneData().Base(), record->matrixes_data.main, e->m_CachedBoneData().Count() * sizeof(matrix3x4_t));

    m_globals()->m_curtime = backup_curtime;
    m_globals()->m_frametime = backup_frametime;

    e->m_flLowerBodyYawTarget() = backup_lower_body_yaw_target;
    e->m_flDuckAmount() = backup_duck_amount;
    e->m_fFlags() = backup_flags;
    e->m_iEFlags() = backup_eflags;

    //e->set_abs_origin(backup_absorigin);
    //e->set_abs_angles(backup_absangles);
    memcpy(e->get_animlayers(), animlayers, e->animlayer_count() * sizeof(AnimationLayer));
 
Сверху Снизу