2025-07-22 22:06:34 +03:00

82 lines
1.8 KiB
C++

#include "features.h"
// used: draw callbacks
#include "utilities/draw.h"
// used: notify
#include "utilities/notify.h"
// used: cheat variables
#include "core/variables.h"
// used: menu
#include "core/menu.h"
// used: features callbacks
#include "features/visuals.h"
#include "features/misc.h"
#include "features/legitbot.h"
// used: interfaces
#include "core/interfaces.h"
#include "sdk/interfaces/iengineclient.h"
#include "sdk/interfaces/cgameentitysystem.h"
#include "sdk/datatypes/usercmd.h"
#include "sdk/entity.h"
#include "aimRangePainter.hpp"
bool F::Setup()
{
if (!VISUALS::Setup())
{
L_PRINT(LOG_ERROR) << CS_XOR("failed to setup visuals");
return false;
}
return true;
}
void F::Destroy()
{
VISUALS::OnDestroy();
}
void F::OnPresent()
{
if (!D::bInitialized)
return;
D::NewFrame();
{
// render watermark
MENU::RenderWatermark();
// main window
ImGui::PushFont(FONT::pMenu[C_GET(int, Vars.nDpiScale)]);
// @note: here you can draw your stuff
MENU::RenderMainWindow();
// render notifications
NOTIFY::Render();
ImGui::PopFont();
}
D::Render();
}
void F::OnFrameStageNotify(int nStage)
{
F::VISUALS::OnFrame(nStage);
}
void F::OnCreateMove(CUserCmd* pCmd, CBaseUserCmdPB* pBaseCmd, CCSPlayerController* pLocalController)
{
C_CSPlayerPawn* pLocalPawn = I::GameResourceService->pGameEntitySystem->Get<C_CSPlayerPawn>(pLocalController->GetPawnHandle());
if (pLocalPawn == nullptr)
return;
F::MISC::OnMove(pCmd, pBaseCmd, pLocalController, pLocalPawn);
F::LEGITBOT::OnMove(pCmd, pBaseCmd, pLocalController, pLocalPawn);
}
bool F::OnDrawObject(void* pAnimatableSceneObjectDesc, void* pDx11, CMeshData* arrMeshDraw, int nDataCount, void* pSceneView, void* pSceneLayer, void* pUnk, void* pUnk2)
{
return VISUALS::OnDrawObject(pAnimatableSceneObjectDesc, pDx11, arrMeshDraw, nDataCount, pSceneView, pSceneLayer, pUnk, pUnk2);
}