[PATCH 4/9] d3drm: Implement IDirect3DRMViewport*::Init. (v5)
Henri Verbeet
hverbeet at gmail.com
Fri Jul 15 07:04:21 CDT 2016
On 15 July 2016 at 12:32, Aaryaman Vasishta <jem456.vasishta at gmail.com> wrote:
> diff --git a/dlls/d3drm/viewport.c b/dlls/d3drm/viewport.c
> index 9fd627d..743fb75 100644
> --- a/dlls/d3drm/viewport.c
> +++ b/dlls/d3drm/viewport.c
> @@ -270,19 +279,126 @@ static HRESULT WINAPI d3drm_viewport1_GetClassName(IDirect3DRMViewport *iface, D
> static HRESULT WINAPI d3drm_viewport2_Init(IDirect3DRMViewport2 *iface, IDirect3DRMDevice3 *device,
> IDirect3DRMFrame3 *camera, DWORD x, DWORD y, DWORD width, DWORD height)
> {
> - FIXME("iface %p, device %p, camera %p, x %u, y %u, width %u, height %u stub!\n",
> + struct d3drm_viewport *viewport = impl_from_IDirect3DRMViewport2(iface);
> + D3DVIEWPORT vp;
> + D3DVALUE scale;
> + IDirect3D *d3d1 = NULL;
> + D3DCOLOR color;
> + IDirect3DDevice *d3d_device = NULL;
> + IDirect3DMaterial *material = NULL;
> + D3DMATERIAL mat;
> + D3DMATERIALHANDLE hmat;
> + HRESULT hr = D3DRM_OK;
> +
...
> + color = IDirect3DRMFrame3_GetSceneBackground(camera);
> + /* Create material (ambient/diffuse/emissive?), set material */
> + if (FAILED(hr = IDirect3D_CreateMaterial(d3d1, &material, NULL)))
> + goto cleanup;
> +
> + memset(&mat, 0, sizeof(mat));
> + memcpy(&mat.diffuse, &color, sizeof(color));
That doesn't look right.
More information about the wine-devel
mailing list