static bool d3d8_shmem_init(IDirect3DDevice8 *device) { for (int i = 0; i < NUM_BUFFERS; i++) { if (!d3d8_shmem_init_buffer(device, i)) { return false; } } if (!capture_init_shmem(&data.shmem_info, data.window, data.cx, data.cy, data.cx, data.cy, data.pitch, data.dxgi_format, false)) { return false; } hlog("d3d8 memory capture successfull"); return true; }
static bool gl_shmem_init(HWND window) { if (!gl_shmem_init_buffers()) { return false; } if (!gl_init_fbo()) { return false; } if (!capture_init_shmem(&data.shmem_info, window, data.base_cx, data.base_cy, data.cx, data.cy, data.cx * 4, data.format, true)) { return false; } hlog("gl memory capture successful"); return true; }
static bool d3d9_shmem_init(uint32_t cx, uint32_t cy, HWND window) { data.using_shtex = false; for (size_t i = 0; i < NUM_BUFFERS; i++) { if (!d3d9_shmem_init_buffers(i)) { return false; } } if (!capture_init_shmem(&data.shmem_info, window, cx, cy, data.cx, data.cy, data.pitch, data.dxgi_format, false)) { return false; } hlog("d3d9 memory capture successful"); return true; }