CSS: Simple internal multihack
#include "interfaces.h"
#include "tools/tools.h"
//------------------------------------------//
// CreateInterface
//------------------------------------------//
IBaseClientDll* g_client = nullptr;
IClientEntityList* g_entitylist = nullptr;
IVEngineClient* g_engine = nullptr;
IVModelInfo* g_modelinfo = nullptr;
IEngineTrace* g_trace = nullptr;
IVDebugOverlay* g_debugoverlay = nullptr;
ICvar* g_cvar = nullptr;
//------------------------------------------//
// Pattern Scan
//------------------------------------------//
CInput* g_input = nullptr;
CBaseClientState* g_clientstate = nullptr;
IDirect3DDevice9* g_d3ddevice = nullptr;
CGlobalVars* g_globalvars = nullptr;
//------------------------------------------//
// Initialize Interfaces
//------------------------------------------//
void initialize_interfaces()
{
//------------------------------------------//
// Factories
//------------------------------------------//
auto client_factory = reinterpret_cast(GetProcAddress(GetModuleHandleA("client.dll"), "CreateInterface"));
auto engine_factory = reinterpret_cast(GetProcAddress(GetModuleHandleA("engine.dll"), "CreateInterface"));
auto vstdlib_factory = reinterpret_cast(GetProcAddress(GetModuleHandleA("vstdlib.dll"), "CreateInterface"));
//------------------------------------------//
// CreateInterface
//------------------------------------------//
g_client = reinterpret_cast(client_factory("VClient017", nullptr));
g_entitylist = reinterpret_cast(client_factory("VClientEntityList003", nullptr));
g_engine = reinterpret_cast(engine_factory("VEngineClient014", nullptr));
g_modelinfo = reinterpret_cast(engine_factory("VModelInfoClient006", nullptr));
g_trace = reinterpret_cast(engine_factory("EngineTraceClient003", nullptr));
g_debugoverlay = reinterpret_cast(engine_factory("VDebugOverlay003", nullptr));
g_cvar = reinterpret_cast(vstdlib_factory("VEngineCvar004", nullptr));
//------------------------------------------//
// Pattern Scan
//------------------------------------------//
g_input = **reinterpret_cast(tools::find_pattern("client.dll", "8B 0D ? ? ? ? 8B 01 FF 60 44") + 0x2);
g_clientstate = *reinterpret_cast(tools::find_pattern("engine.dll", "83 3D ? ? ? ? ? B8 ? ? ? ? B9 ? ? ? ? 0F 4D C1") + 0x2);
g_d3ddevice = **reinterpret_cast(tools::find_pattern("shaderapidx9.dll", "A1 ? ? ? ? 8D 53 08") + 0x1);
g_globalvars = **reinterpret_cast((*reinterpret_cast(g_client))[0] + 0x34);
}
#include "hooks.h"
#include "Settings.h"
#include "SDK\CBaseEntity.h"
#include "Visuals.h"
#include "Menu.h"
void Initialize_GUI(IDirect3DDevice9* vDevice)
{
ImGui_ImplDX9_Init(hWindow, vDevice);
auto& style = ImGui::GetStyle();
style.ChildWindowRounding = 3.f;
style.GrabRounding = 0.f;
style.WindowRounding = 0.f;
style.ScrollbarRounding = 3.f;
style.FrameRounding = 3.f;
style.WindowTitleAlign = ImVec2(0.5f, 0.5f);
style.Colors[ImGuiCol_Text] = ImVec4(0.73f, 0.73f, 0.73f, 1.00f);
style.Colors[ImGuiCol_TextDisabled] = ImVec4(0.50f, 0.50f, 0.50f, 1.00f);
style.Colors[ImGuiCol_WindowBg] = ImVec4(0.26f, 0.26f, 0.26f, 0.95f);
style.Colors[ImGuiCol_ChildWindowBg] = ImVec4(0.28f, 0.28f, 0.28f, 1.00f);
style.Colors[ImGuiCol_PopupBg] = ImVec4(0.26f, 0.26f, 0.26f, 1.00f);
style.Colors[ImGuiCol_Border] = ImVec4(0.26f, 0.26f, 0.26f, 1.00f);
style.Colors[ImGuiCol_BorderShadow] = ImVec4(0.26f, 0.26f, 0.26f, 1.00f);
style.Colors[ImGuiCol_FrameBg] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f);
style.Colors[ImGuiCol_FrameBgHovered] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f);
style.Colors[ImGuiCol_FrameBgActive] = ImVec4(0.16f, 0.16f, 0.16f, 1.00f);
style.Colors[ImGuiCol_TitleBg] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f);
style.Colors[ImGuiCol_TitleBgCollapsed] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f);
style.Colors[ImGuiCol_TitleBgActive] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f);
style.Colors[ImGuiCol_MenuBarBg] = ImVec4(0.26f, 0.26f, 0.26f, 1.00f);
style.Colors[ImGuiCol_ScrollbarBg] = ImVec4(0.21f, 0.21f, 0.21f, 1.00f);
style.Colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f);
style.Colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f);
style.Colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f);
style.Colors[ImGuiCol_ComboBg] = ImVec4(0.32f, 0.32f, 0.32f, 1.00f);
style.Colors[ImGuiCol_CheckMark] = ImVec4(0.78f, 0.78f, 0.78f, 1.00f);
style.Colors[ImGuiCol_SliderGrab] = ImVec4(0.74f, 0.74f, 0.74f, 1.00f);
style.Colors[ImGuiCol_SliderGrabActive] = ImVec4(0.74f, 0.74f, 0.74f, 1.00f);
style.Colors[ImGuiCol_Button] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f);
style.Colors[ImGuiCol_ButtonHovered] = ImVec4(0.43f, 0.43f, 0.43f, 1.00f);
style.Colors[ImGuiCol_ButtonActive] = ImVec4(0.11f, 0.11f, 0.11f, 1.00f);
style.Colors[ImGuiCol_Header] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f);
style.Colors[ImGuiCol_HeaderHovered] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f);
style.Colors[ImGuiCol_HeaderActive] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f);
style.Colors[ImGuiCol_Column] = ImVec4(0.39f, 0.39f, 0.39f, 1.00f);
style.Colors[ImGuiCol_ColumnHovered] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
style.Colors[ImGuiCol_ColumnActive] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
style.Colors[ImGuiCol_ResizeGrip] = ImVec4(0.36f, 0.36f, 0.36f, 1.00f);
style.Colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
style.Colors[ImGuiCol_ResizeGripActive] = ImVec4(0.26f, 0.59f, 0.98f, 1.00f);
style.Colors[ImGuiCol_CloseButton] = ImVec4(0.59f, 0.59f, 0.59f, 1.00f);
style.Colors[ImGuiCol_CloseButtonHovered] = ImVec4(0.98f, 0.39f, 0.36f, 1.00f);
style.Colors[ImGuiCol_CloseButtonActive] = ImVec4(0.98f, 0.39f, 0.36f, 1.00f);
style.Colors[ImGuiCol_PlotLines] = ImVec4(0.39f, 0.39f, 0.39f, 1.00f);
style.Colors[ImGuiCol_PlotLinesHovered] = ImVec4(1.00f, 0.43f, 0.35f, 1.00f);
style.Colors[ImGuiCol_PlotHistogram] = ImVec4(0.90f, 0.70f, 0.00f, 1.00f);
style.Colors[ImGuiCol_PlotHistogramHovered] = ImVec4(1.00f, 0.60f, 0.00f, 1.00f);
style.Colors[ImGuiCol_TextSelectedBg] = ImVec4(0.32f, 0.52f, 0.65f, 1.00f);
style.Colors[ImGuiCol_ModalWindowDarkening] = ImVec4(0.20f, 0.20f, 0.20f, 0.50f);
DrawManager = std::make_unique(vDevice);
DrawManager->CreateObjects();
}
HRESULT STDMETHODCALLTYPE EndScene_Hooked(IDirect3DDevice9* vDevice)
{
if (bWasInitialized)
{
ImGui::GetIO().MouseDrawCursor = Settings::Menu::Opened;
ImGui_ImplDX9_NewFrame();
Menu::EndScene();
DrawManager->BeginRendering();
Visuals::EndScene();
ImGui::Render();
DrawManager->EndRendering();
}
else
{
Initialize_GUI(vDevice);
bWasInitialized = true;
}
return oEndScene(vDevice);
}
#pragma once
#include "sdk/sdk.h"
#include
#include
//------------------------------------------//
// CreateInterface
//------------------------------------------//
extern IBaseClientDll* g_client;
extern IClientEntityList* g_entitylist;
extern IVEngineClient* g_engine;
extern IVModelInfo* g_modelinfo;
extern IEngineTrace* g_trace;
extern IVDebugOverlay* g_debugoverlay;
extern ICvar* g_cvar;
//------------------------------------------//
// Pattern Scan
//------------------------------------------//
extern CInput* g_input;
extern CBaseClientState* g_clientstate;
extern IDirect3DDevice9* g_d3ddevice;
extern CGlobalVars* g_globalvars;
//------------------------------------------//
// Initialize Interfaces
//------------------------------------------//
extern void initialize_interfaces();
|
|
|