Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "Resolver.h"
- #include "Hooks.h"
- bool bLowerBodyUpdated;
- bool IsUsingFakeAngles;
- float Differences[65];
- inline float RandomFloat(float min, float max)
- {
- static auto fn = (decltype(&RandomFloat))(GetProcAddress(GetModuleHandle("vstdlib.dll"), "RandomFloat"));
- return fn(min, max);
- }
- bool HasFakeHead(IClientEntity* pEntity) {
- //lby should update if distance from lby to eye angles exceeds 35 degrees
- return abs(pEntity->GetEyeAngles()->y - pEntity->GetLowerBodyYaw()) > 35;
- }
- bool Lbywithin35(IClientEntity* pEntity) {
- //lby should update if distance from lby to eye angles less than 35 degrees
- return abs(pEntity->GetEyeAngles()->y - pEntity->GetLowerBodyYaw()) < 35;
- }
- bool IsMovingOnGround(IClientEntity* pEntity) {
- //Check if player has a velocity greater than 0 (moving) and if they are onground.
- return pEntity->GetVelocity().Length2D() > 45.f && pEntity->GetFlags() & FL_ONGROUND;
- }
- bool IsMovingOnInAir(IClientEntity* pEntity) {
- //Check if player has a velocity greater than 0 (moving) and if they are onground.
- return !(pEntity->GetFlags() & FL_ONGROUND);
- }
- bool OnGround(IClientEntity* pEntity) {
- //Check if player has a velocity greater than 0 (moving) and if they are onground.
- return pEntity->GetFlags() & FL_ONGROUND;
- }
- bool IsFakeWalking(IClientEntity* pEntity) {
- //Check if a player is moving, but at below a velocity of 36
- return IsMovingOnGround(pEntity) && pEntity->GetVelocity().Length2D() < 36.0f;
- }
- bool IsEntityMoving(IClientEntity *player)
- {
- return (player->GetVelocity().Length2D() > 0.1f && player->GetFlags() & FL_ONGROUND);
- }
- bool CResolver::YawResolve2(IClientEntity *player)
- {
- float PlayerIsMoving = abs(player->GetVelocity().Length2D());
- bool bLowerBodyUpdated = false;
- bool IsUsingFakeAngles = false;
- float oldlowerbodyyaw;
- int result; // al@1
- float viewangles = player->GetEyeAngles()->y;
- int v3; // [sp+0h] [bp-4h]@1
- v3 = rand() % 40 + 160;
- result = PlayerIsMoving;
- if (bLowerBodyUpdated)
- {
- result = IsUsingFakeAngles;
- if (bLowerBodyUpdated = -1)
- {
- oldlowerbodyyaw = (viewangles + 16);
- result = IsUsingFakeAngles;
- }
- }
- *(float *)&bLowerBodyUpdated = (float)v3 + *(float *)&oldlowerbodyyaw;
- bLowerBodyUpdated = oldlowerbodyyaw;
- return result;
- }
- bool CResolver::YawResolve3(IClientEntity *player)
- {
- float PlayerIsMoving = abs(player->GetVelocity().Length2D());
- bool bLowerBodyUpdated = false;
- bool IsUsingFakeAngles = false;
- float oldlowerbodyyaw;
- int result; // al@1
- float viewangles = player->GetEyeAngles()->y;
- result = (unsigned __int8)PlayerIsMoving;
- if (bLowerBodyUpdated)
- {
- result = (unsigned __int8)oldlowerbodyyaw;
- if (bLowerBodyUpdated)
- {
- result = player->GetEyeAngles()->y;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) + 90.0);
- }
- else
- {
- if ((player->GetEyeAngles()->y + 16) > player->GetEyeAngles()->y + 16) - 90.0;
- }
- }
- else if (++IsUsingFakeAngles == 1)
- {
- oldlowerbodyyaw = 0;
- result = player->GetEyeAngles()->y;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 90.0);
- }
- else
- {
- oldlowerbodyyaw = 1;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) + 90.0);
- bLowerBodyUpdated = 0;
- }
- return result;
- }
- bool CResolver::YawResolve4(IClientEntity *player)
- {
- float PlayerIsMoving = abs(player->GetVelocity().Length2D());
- bool bLowerBodyUpdated = false;
- bool IsUsingFakeAngles = false;
- float oldlowerbodyyaw;
- int result; // al@1
- result = PlayerIsMoving;
- if (bLowerBodyUpdated)
- {
- result = IsUsingFakeAngles;
- if (oldlowerbodyyaw)
- {
- result = player->GetEyeAngles()->y;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 90.0);
- }
- else
- {
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 180.0);
- }
- }
- else if (++oldlowerbodyyaw == 1)
- {
- bLowerBodyUpdated = 0;
- result = player->GetEyeAngles()->y;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 180.0);
- }
- else
- {
- IsUsingFakeAngles = 1;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 90.0);
- bLowerBodyUpdated = 0;
- }
- return result;
- }
- bool CResolver::YawResolve5(IClientEntity *player)
- {
- int v1; // eax@1
- int result; // eax@1
- signed __int64 v3; // rtt@1
- float v4; // xmm0_4@4
- float v5; // xmm0_4@6
- signed int v6; // [sp+8h] [bp-4h]@1
- v1 = rand();
- v3 = v1;
- result = v1 / 100;
- v6 = v3 % 100;
- if (v6 < 98)
- {
- result = player->GetEyeAngles()->y;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 180.0);
- }
- if (v6 < 15)
- {
- v4 = (player->GetEyeAngles()->y + 16) + (float)(rand() % 141 - 70);
- result = player->GetEyeAngles()->y;
- if (player->GetEyeAngles()->y + 16 == v4);
- }
- if (v6 == 69)
- {
- v5 = (player->GetEyeAngles()->y + 16) + (float)(rand() % 181 - 90);
- result = player->GetEyeAngles()->y;
- if (player->GetEyeAngles()->y + 16 == v5);
- }
- return result;
- }
- bool CResolver::YawResolve6(IClientEntity *player)
- {
- bool bLowerBodyUpdated = false;
- bool IsUsingFakeAngles = false;
- float oldlowerbodyyaw;
- char result; // al@1
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 91.0);
- result = bLowerBodyUpdated == 0;
- oldlowerbodyyaw = result;
- if (result)
- {
- result = player->GetEyeAngles()->y;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 180.0);
- }
- return result;
- }
- bool CResolver::YawResolve7(IClientEntity *player)
- {
- int result; // eax@1
- float PlayerIsMoving = abs(player->GetVelocity().Length2D());
- bool bLowerBodyUpdated = false;
- bool IsUsingFakeAngles = false;
- float oldlowerbodyyaw;
- result = oldlowerbodyyaw;
- if (PlayerIsMoving)
- {
- result = IsUsingFakeAngles;
- if (bLowerBodyUpdated)
- {
- result = oldlowerbodyyaw;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) + 0.0);
- }
- else
- {
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) + 180.0);
- }
- }
- else if (++PlayerIsMoving == 1)
- {
- bLowerBodyUpdated = 0;
- result = player->GetEyeAngles()->y;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) + 180.0);
- }
- else
- {
- oldlowerbodyyaw = 1;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) + 0.0);
- bLowerBodyUpdated = 0;
- }
- return result;
- }
- bool CResolver::YawResolve8(IClientEntity *player)
- {
- float PlayerIsMoving = abs(player->GetVelocity().Length2D());
- bool bLowerBodyUpdated = false;
- bool IsUsingFakeAngles = false;
- float oldlowerbodyyaw;
- double v2; // [sp+0h] [bp-Ch]@4
- if (PlayerIsMoving)
- {
- bLowerBodyUpdated;
- if (oldlowerbodyyaw == -1)
- {
- bLowerBodyUpdated = 0;
- (&PlayerIsMoving);
- }
- }
- v2 = (double)bLowerBodyUpdated;
- if (oldlowerbodyyaw)
- {
- if (IsUsingFakeAngles)
- {
- if (oldlowerbodyyaw)
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 90.0);
- else
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) + 90.0);
- }
- else
- {
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 180.0);
- }
- }
- else if (++PlayerIsMoving == 1)
- {
- bLowerBodyUpdated = 0;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 180.0);
- }
- else
- {
- oldlowerbodyyaw = 1;
- if (bLowerBodyUpdated)
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 90.0);
- else
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) + 90.0);
- oldlowerbodyyaw = 0;
- }
- if (v2 >= 0.35)
- {
- IsUsingFakeAngles = bLowerBodyUpdated == 0;
- oldlowerbodyyaw = IsUsingFakeAngles;
- }
- return bLowerBodyUpdated;
- }
- bool CResolver::YawResolve9(IClientEntity *player)
- {
- int idx = player->GetIndex();
- float new_yaw = player->GetLowerBodyYaw();
- //AnimationLayer curBalanceLayer, prevBalanceLayer;
- //SResolveInfo &player_recs = arr_infos[idx];
- float PlayerIsMoving = abs(player->GetVelocity().Length2D());
- bool bLowerBodyUpdated = false;
- bool IsUsingFakeAngles = false;
- float oldlowerbodyyaw;
- bool result; // al@4
- if (IsEntityMoving(player))
- {
- if (oldlowerbodyyaw)
- {
- if (bLowerBodyUpdated)
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 226.0);
- else
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 134.0);
- result = oldlowerbodyyaw == 0;
- PlayerIsMoving = oldlowerbodyyaw == 0;
- }
- else
- {
- if (oldlowerbodyyaw)
- {
- result = player->GetEyeAngles()->y;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 134.0);
- }
- else
- {
- result = player->GetEyeAngles()->y;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 226.0);
- }
- bLowerBodyUpdated = PlayerIsMoving == 0;
- }
- }
- else if (++bLowerBodyUpdated == 1)
- {
- oldlowerbodyyaw = 0;
- if (bLowerBodyUpdated == true)
- {
- result = player->GetEyeAngles()->y;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 134.0);
- }
- else
- {
- result = player->GetEyeAngles()->y;
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 226.0);
- }
- PlayerIsMoving = oldlowerbodyyaw == 0;
- }
- else
- {
- PlayerIsMoving = 1;
- if (IsUsingFakeAngles)
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 226.0);
- else
- if ((player->GetEyeAngles()->y + 16 > player->GetEyeAngles()->y + 16) - 134.0);
- result = oldlowerbodyyaw == 0;
- bLowerBodyUpdated = PlayerIsMoving == 0;
- IsUsingFakeAngles = 0;
- }
- return result;
- }
- CResolver resolver;
- void CResolver::draw_developer_data() {
- if (resolverconfig.bResolverDebug) {
- int pos_y = 30;
- char buffer_shots[128];
- float shots = game::globals.Shots % 4;
- sprintf_s(buffer_shots, "Shots: %1.0f", shots);
- draw.text(4, pos_y, buffer_shots, draw.fonts.menu_bold, Color(255, 255, 255));
- pos_y += 10;
- char buffer_chokedticks[128];
- float choked_ticks = game::globals.choked_ticks;
- sprintf_s(buffer_chokedticks, "Choked ticks: %1.0f", choked_ticks);
- draw.text(4, pos_y, buffer_chokedticks, draw.fonts.menu_bold, Color(255, 255, 255));
- pos_y += 10;
- if (game::globals.UserCmd) {
- char buffer_realyaw[128];
- static float real_yaw = 0;
- if (!game::globals.SendPacket) real_yaw = game::globals.UserCmd->viewangles.y;
- sprintf_s(buffer_realyaw, "Real yaw: %1.0f", real_yaw);
- draw.text(4, pos_y, buffer_realyaw, draw.fonts.menu_bold, Color(255, 255, 255));
- pos_y += 10;
- char buffer_fakeyaw[128];
- static float fake_yaw = 0;
- if (game::globals.SendPacket) fake_yaw = game::globals.UserCmd->viewangles.y;
- sprintf_s(buffer_fakeyaw, "Fake yaw: %1.0f", fake_yaw);
- draw.text(4, pos_y, buffer_fakeyaw, draw.fonts.menu_bold, Color(255, 255, 255));
- pos_y += 20;
- }
- }
- }
- void CResolver::add_corrections()
- {
- {
- if (OnGround)
- {
- YawResolve9(pEntity) + YawResolve7(pEntity) + YawResolve8(pEntity) + YawResolve6(pEntity) + YawResolve3(pEntity);
- }
- else
- {
- YawResolve2(pEntity) + YawResolve3(pEntity) + YawResolve4(pEntity) + YawResolve5(pEntity) + YawResolve6(pEntity) + YawResolve7(pEntity) + YawResolve8(pEntity) + YawResolve9(pEntity);
- }
- if (IsUsingFakeAngles)
- {
- YawResolve2(pEntity) + YawResolve3(pEntity);
- }
- else
- {
- YawResolve2(pEntity) + YawResolve3(pEntity) + YawResolve4(pEntity) + YawResolve5(pEntity) + YawResolve6(pEntity) + YawResolve7(pEntity) + YawResolve8(pEntity) + YawResolve9(pEntity);
- }
- if (IsFakeWalking)
- {
- YawResolve3(pEntity) + YawResolve4(pEntity);
- }
- else
- {
- YawResolve4(pEntity) + YawResolve5(pEntity) + YawResolve9(pEntity);
- }
- if (IsMovingOnGround)
- {
- YawResolve4(pEntity) + YawResolve5(pEntity) + YawResolve7(pEntity) + YawResolve8(pEntity) + YawResolve9(pEntity);
- }
- else
- {
- YawResolve2(pEntity) + YawResolve4(pEntity) + YawResolve6(pEntity) + YawResolve7(pEntity) + YawResolve8(pEntity) + YawResolve9(pEntity);
- }
- if (IsMovingOnInAir)
- {
- YawResolve2(pEntity) + YawResolve3(pEntity) + YawResolve4(pEntity) + YawResolve5(pEntity) + YawResolve6(pEntity) + YawResolve7(pEntity) + YawResolve8(pEntity) + YawResolve9(pEntity);
- }
- else
- {
- YawResolve2(pEntity) + YawResolve4(pEntity) + YawResolve6(pEntity) + YawResolve8(pEntity);
- }
- if (Lbywithin35)
- {
- YawResolve3(pEntity) + YawResolve6(pEntity) + YawResolve7(pEntity) + YawResolve9(pEntity);
- }
- else
- {
- YawResolve8(pEntity) + YawResolve9(pEntity) + YawResolve6(pEntity) + YawResolve7(pEntity) + YawResolve5(pEntity) + YawResolve3(pEntity) + YawResolve4(pEntity);
- }
- if (HasFakeHead)
- {
- pEntity->GetEyeAngles()->y = pEntity->GetLowerBodyYaw() + YawResolve8(pEntity) + YawResolve9(pEntity) + YawResolve6(pEntity) + YawResolve7(pEntity) + YawResolve5(pEntity);
- }
- else
- {
- pEntity->GetLowerBodyYaw() + YawResolve8(pEntity) + YawResolve9(pEntity) + YawResolve6(pEntity) + YawResolve7(pEntity) + YawResolve5(pEntity) + YawResolve3(pEntity) + YawResolve4(pEntity);
- }
- }
- }
- void CResolver::apply_corrections(CUserCmd* m_pcmd) {
- if (m_pEngine->IsInGame() && m_pEngine->IsConnected() && game::localdata.localplayer()) {
- for each (CResolverData current in resolver.corrections) {
- IClientEntity* ent = (IClientEntity*)m_pEntityList->GetClientEntity(current.index);
- if (!ent || ent == game::localdata.localplayer() || ent->GetClientClass()->m_ClassID != (int)CSGOClassID::CCSPlayer || !ent->IsAlive()) continue;
- ent->GetEyeAngles()->y = current.realAngles.y;
- ent->GetEyeAngles()->x = current.realAngles.x;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement