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