Advertisement
Guest User

Untitled

a guest
Jun 28th, 2016
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. typedef HRESULT(WINAPI* tSetRenderState)(LPDIRECT3DDEVICE9 pDevice, D3DRENDERSTATETYPE pState, DWORD value);
  2. tSetRenderState oSetRenderState = NULL;
  3.  
  4. HRESULT WINAPI hSetRenderState(LPDIRECT3DDEVICE9 pDevice, D3DRENDERSTATETYPE pState, DWORD value);
  5.  
  6. HRESULT WINAPI hSetRenderState(LPDIRECT3DDEVICE9 pDevice, D3DRENDERSTATETYPE pState, DWORD value)
  7. {
  8. printf("hSetRenderState() called.\n");
  9. return oSetRenderState(pDevice, pState, value);
  10. }
  11.  
  12.  
  13.  
  14. struct sDXFunctions
  15. {
  16. DWORD EndSceneAddress;
  17. DWORD ResetAddress;
  18. DWORD SetRenderStateAddress;
  19. };
  20. sDXFunctions DXFunctions;
  21.  
  22.  
  23.  
  24. *(PDWORD)&oSetRenderState = (DWORD)DXFunctions.SetRenderStateAddress;
  25.  
  26.  
  27.  
  28. if (MH_CreateHook((void*)DXFunctions.SetRenderStateAddress, &hSetRenderState, reinterpret_cast<void**>(&oSetRenderState)))
  29. return -1;
  30.  
  31. if (MH_EnableHook((void*)DXFunctions.SetRenderStateAddress) != MH_OK)
  32. return -1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement