-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Hi,
In patch 1 you have an if condition you can remove now:
- todo_wine ok(hr == D3DRM_OK, "Cannot get IDirect3DDevice interface (hr = %x).\n", hr);
- ok(hr == D3DRM_OK, "Cannot get IDirect3DDevice interface (hr = %x).\n", hr); if (FAILED(hr)) goto cleanup;
The same applies to the equivalent places in patch 2.
After patch 2 I think the if (device->device) check in d3drm_device3_GetDirect3DDevice is no longer needed, and similarly in GetDirect3DDevice2.
In patch 2 you're still more or less thunking back to device 1 in d3drm3_CreateDeviceFromD3D because d3drm_device_set_ddraw_device_d3d. This is OK if you prefer it that way, but the code might look nicer if you make d3drm2_CreateDeviceFromD3D and d3drm3_CreateDeviceFromD3D QI the older interfaces and then call IDirect3DRM_CreateDeviceFromD3D.
Patch 3:
- hr = IDirect3DRMDevice_QueryInterface(device1, &IID_IDirect3DRMDevice2, (void **)&device2);
- ok(hr == DD_OK, "Cannot get IDirect3DRMDevice2 Interface (hr = %x).\n", hr);
Minor matter of taste thing: S_OK or D3DRM_OK
- hr = IDirect3DRMDevice2_GetDirect3DDevice2(device2, &d3ddevice2);
- ok(hr == DD_OK, "Expected hr == DD_OK, got %x).\n", hr);
D3DRM_OK. You're calling a d3drm object here. I won't block these patches based on that, S_OK, D3DRM_OK, D3D_OK and DD_OK are all the same value...
Patches 4, 5 and 6 look OK.