#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(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); }