C++ D3D Menu
Could someone help me out here. I am trying to do a D3D menu on CS:GO but whenever I inject some of the menu items dissapear on each inject. It's not the same ones dissapearing it's different menu items that dissapear on each inject. It makes no sense? Am I hooking this correcly? Is it some render state that causes some menu items to dissapear because with a D3D test enviornment it works perfectly fine.
Code:
long __stdcall EndScene(IDirect3DDevice9* pDevice)
{
pDevice->GetRenderState(D3DRS_COLORWRITEENABLE, &dwOld_D3DRS_COLORWRITEENABLE); /*this is so we can draw without net_graph*/
pDevice->SetRenderState(D3DRS_COLORWRITEENABLE, 0xffffffff);
if (!menu)
createMenu(pDevice);
else
{
menu->DoMenu(pDevice);
}
pDevice->SetRenderState(D3DRS_COLORWRITEENABLE, dwOld_D3DRS_COLORWRITEENABLE);
return oEndScene(pDevice);
}
long __stdcall Reset(IDirect3DDevice9* pDevice, D3DPRESENT_PARAMETERS* pPresentationParameters)
{
return oReset(pDevice, pPresentationParameters);
auto hr = oReset(pDevice, pPresentationParameters);
return hr;
}
DWORD d3d9Device = **(DWORD**)(gBaseAPI.FindPatterns("shaderapidx9.dll", "A1 ?? ?? ?? ?? 50 8B 08 FF 51 0C") + 1);
CVMTHookManager* pD3DDevice9Hook = new CVMTHookManager((DWORD**)d3d9Device);
oEndScene = (EndSceneFn)pD3DDevice9Hook->dwHookMethod((DWORD)EndScene, 42);
oReset = (ResetFn)pD3DDevice9Hook->dwHookMethod((DWORD)Reset, 16);
