Начинающий
Начинающий
- Статус
- Оффлайн
- Регистрация
- 4 Янв 2026
- Сообщения
- 10
- Реакции
- 0
Никак не могу пофиксит свой ресайз буффер, все время игра зависает после изменения разрешения. Функция вызывается, то есть хук рабочий.
ResizeBuffer:
__int64 __fastcall hkResizeBuffers(IDXGISwapChain* pSwapChain, UINT BufferCount, UINT Width, UINT Height, DXGI_FORMAT NewFormat, UINT SwapChainFlags)
{
ImGui_ImplDX11_InvalidateDeviceObjects();
auto result = oResizeBuffers(pSwapChain, BufferCount, Width, Height, NewFormat, SwapChainFlags);
if (SUCCEEDED(result))
{
ID3D11Texture2D* backBuffer;
pSwapChain->GetBuffer(0, __uuidof(ID3D11Texture2D), (LPVOID*)&backBuffer);
pDevice->CreateRenderTargetView(backBuffer, nullptr, &pRenderTargetView);
backBuffer->Release();
ImGui_ImplDX11_CreateDeviceObjects();
}
__log("ResizeBuffer is called!", false);
return result;
}
хук:
#define RESIZE_BUFFER "48 89 5C 24 ? 48 89 6C 24 ? 48 89 74 24 ? 48 89 7C 24 ? 41 54 41 56 41 57 48 83 EC ? 44 8B E2"
bool resize_hook = Hook::Hook(RESIZE_BUFFER, &hkResizeBuffers,
reinterpret_cast<void**>(&oResizeBuffers), "GameOverlayRenderer64.dll");