typedef void(__thiscall *FnOverrideView)(void* _this, CViewSetup* setup);
FnOverrideView oFnOverrideView;
void __fastcall hkOverrideView(void* _this, void* _edx, CViewSetup* setup);
void __fastcall hkOverrideView(void* _this, void* _edx, CViewSetup* setup)
{
IClientEntity *pLocal = I::EntList->GetClientEntity(I::Engine->GetLocalPlayer());
if (I::Engine->IsInGame() && pLocal)
{
static Vector vecAngles;
I::Engine->SetViewAngles(vecAngles);
int kuk = floor(Menu.Misc.ThirdpersonRange->GetValue());
if (Menu.Misc.Thirdperson->GetBool() && pLocal->IsAlive())
{
if (!I::Input->m_fCameraInThirdPerson)
{
I::Input->m_fCameraInThirdPerson = true;
I::Input->m_vecCameraOffset = Vector(vecAngles.x, vecAngles.y, kuk);
}
}
else
{
I::Input->m_fCameraInThirdPerson = false;
I::Input->m_vecCameraOffset = Vector(vecAngles.x, vecAngles.y, 0);
}
}
oFnOverrideView(_this, setup);
}