get-graphics-offsets.c 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #include <inttypes.h>
  2. #include <stdio.h>
  3. #include <windows.h>
  4. #include "get-graphics-offsets.h"
  5. int main(int argc, char *argv[])
  6. {
  7. struct d3d8_offsets d3d8 = {0};
  8. struct d3d9_offsets d3d9 = {0};
  9. struct dxgi_offsets dxgi = {0};
  10. struct dxgi_offsets2 dxgi2 = {0};
  11. WNDCLASSA wc = {0};
  12. wc.style = CS_OWNDC;
  13. wc.hInstance = GetModuleHandleA(NULL);
  14. wc.lpfnWndProc = (WNDPROC)DefWindowProcA;
  15. wc.lpszClassName = DUMMY_WNDCLASS;
  16. SetErrorMode(SEM_FAILCRITICALERRORS);
  17. if (!RegisterClassA(&wc)) {
  18. printf("failed to register '%s'\n", DUMMY_WNDCLASS);
  19. return -1;
  20. }
  21. get_d3d9_offsets(&d3d9);
  22. get_d3d8_offsets(&d3d8);
  23. get_dxgi_offsets(&dxgi, &dxgi2);
  24. printf("[d3d8]\n");
  25. printf("present=0x%" PRIx32 "\n", d3d8.present);
  26. printf("[d3d9]\n");
  27. printf("present=0x%" PRIx32 "\n", d3d9.present);
  28. printf("present_ex=0x%" PRIx32 "\n", d3d9.present_ex);
  29. printf("present_swap=0x%" PRIx32 "\n", d3d9.present_swap);
  30. printf("d3d9_clsoff=0x%" PRIx32 "\n", d3d9.d3d9_clsoff);
  31. printf("is_d3d9ex_clsoff=0x%" PRIx32 "\n", d3d9.is_d3d9ex_clsoff);
  32. printf("[dxgi]\n");
  33. printf("present=0x%" PRIx32 "\n", dxgi.present);
  34. printf("present1=0x%" PRIx32 "\n", dxgi.present1);
  35. printf("resize=0x%" PRIx32 "\n", dxgi.resize);
  36. printf("release=0x%" PRIx32 "\n", dxgi2.release);
  37. (void)argc;
  38. (void)argv;
  39. return 0;
  40. }