:roflanBuldiga:
-
Автор темы
- #1
Кароч хотел я заменить d3d9 меню на surface,перенёс вроде заебись всё,но при инжекте краш
Дебаг выдаёт ошибку в painttraverse
вот сам хук
Дебаг выдаёт ошибку в painttraverse
Вызвано исключение по адресу 0x00000000 в csgo.exe: 0xC0000005: нарушение прав доступа при исполнении по адресу 0x00000000.
C++:
void __stdcall Hooks::PaintTraverse(PVOID pPanels, int edx, unsigned int vguiPanel, bool forceRepaint, bool allowForce)
{
static auto oPaintTraverse = g_Hooks.pPanelHook->GetOriginal<PaintTraverse_t>(vtable_indexes::painttraverse);
static unsigned int panelID = 0;
oPaintTraverse(pPanels, vguiPanel, forceRepaint, allowForce);
if (!panelID)
{
const auto panelName = g_pPanel->GetName(vguiPanel);
if (strstr(panelName, "MatSystemTopPanel"))
panelID = vguiPanel;
g_Hooks.bInitializedDrawManager = true;
}
if (panelID == vguiPanel)
{
for (int i = 0; i < 4; i++) {
for (int j = 0; j < 4; j++)
{
Globals::w2s_matrix[i][j] = g_pEngine->WorldToScreenMatrix()[i][j];
}
}
int screenSizeX, screenCenterX;
int screenSizeY, screenCenterY;
auto lineSize = 8;
g_pEngine->GetScreenSize(screenSizeX, screenSizeY);
screenCenterX = screenSizeX / 2;
screenCenterY = screenSizeY / 2;
if (g_pEngine->IsConnected() && g_pEngine->IsInGame()) {
if (Globals::LocalPlayer && Globals::LocalPlayer->IsAlive())
{
float Damage;
if (!Globals::LocalPlayer->GetActiveWeapon())
return;
Vector angles; g_pEngine->GetViewAngles(angles);
int mode = 0;
}
}
if (Globals::LocalPlayer) {
if (Globals::LocalPlayer->IsAlive())
{
if (!Globals::LocalPlayer->GetAnimState())
return;
}
}
g_Menu.Render();
}
}