leak legendware animfix and resolver

  • Автор темы HHIDE_DUMP
  • Дата начала
  • Просмотры 3K
  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

HHIDE_DUMP

Гость
H

HHIDE_DUMP

Гость
Код:
// CBaseEntity:
int& GetEFlags()
{
    static unsigned int offset = FindInDataMap(GetPredDescMap(), "m_iEFlags");
    return *(int*)((uintptr_t)this + offset);
}
 
int& GetEffects() {
    static unsigned int offset = FindInDataMap(GetPredDescMap(), "m_fEffects");
    return *(int*)((uintptr_t)this + offset);
}
 
#define offset(func, type, offset) type& func { return *reinterpret_cast<type*>(reinterpret_cast<uintptr_t>(this) + offset); }
 
offset(get_most_recent_model_bone_counter(), uint32_t, 0x2690)
offset(get_last_bone_setup_time(), float, 0x2924)
 
// FRAME_NET_UPDATE_END
void AnimFixOnEntity(CBaseEntity* Entity, ResolverInfo* info)
{
    auto Animstate = Entity->GetAnimState();
    if (!Animstate)
        return;
 
    auto Pitch = info->m_flPitch; // resolved angle
    auto AbsRotation = info->m_flGoalFeetYaw; // resolved angle
 
    static auto OldCurtime = g_pGlobalVars->curtime;
    static auto OldFrameTime = g_pGlobalVars->frametime;
    static auto OldFlags = Entity->GetFlags();
    static auto OldEFlags = Entity->GetEFlags();
    static CAnimationLayer Layers[13];
 
    g_pGlobalVars->curtime = Entity->GetSimulationTime();
    g_pGlobalVars->frametime = g_pGlobalVars->interval_per_tick;
 
    if (Entity->GetAnimOverlays()->m_flWeight != 0.f)
        Entity->GetFlags() |= FL_ONGROUND;
 
    Entity->GetEFlags() &= ~0x1000; // EFL_DIRTY_ABSVELOCITY
    Entity->GetAbsVelocity() = Entity->GetVelocity();
 
    memcpy(Layers, Entity->GetAnimOverlays(), sizeof(CAnimationLayer) * 13);
 
    if (Animstate->m_iLastClientSideAnimationUpdateFramecount == g_pGlobalVars->framecount)
        Animstate->m_iLastClientSideAnimationUpdateFramecount -= 1;
 
    g_pClientState->pad_meme4[8] = true; // is hltv = true, but hook is better btw (for pvs fix)
    Entity->GetClientSideAnimations() = true;
 
    if (Pitch != FLT_MAX)
        Entity->GetEyeAngles()->x = Pitch; // set resolved pitch
 
    if (AbsRotation != FLT_MAX)
        Animstate->m_flGoalFeetYaw = GoalFeetYaw; // set resolved feet yaw
 
    Globals::ShouldUpdate = true; // u need to hook UpdateClientSideAnimation and check if this bool equals true - > call original
    Entity->UpdateClientSideAnimation();
    Globals::ShouldUpdate = false;
    Entity->GetClientSideAnimations() = false;
 
    g_pClientState->pad_meme4[8] = false;
 
    memcpy(Entity->GetAnimOverlays(), Layers, sizeof(CAnimationLayer) * 13);
 
    g_pGlobalVars->curtime = OldCurtime;
    g_pGlobalVars->frametime = OldFrameTime;
 
    Entity->GetFlags() = OldFlags;
    Entity->GetEFlags() = OldEFlags;
 
    // "rebuilding bone matrix", but it's 10% of code ahah
    Entity->get_most_recent_model_bone_counter() = 0;
    Entity->get_last_bone_setup_time() = -FLT_MAX;
 
    Entity->GetEffects() |= 8;
    Entity->SetupBones(nullptr, -1, 0x7FF00, Entity->GetSimulationTime());
    Entity->GetEffects() &= ~8;
}
 

О нас

  • Наше сообщество существует уже много лет и гордится тем, что предлагает непредвзятое, критическое обсуждение различных тем среди людей разных слоев общества. Мы работаем каждый день, чтобы убедиться, что наше сообщество является одним из лучших.

    Dark-Time 2015 - 2022

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя