Module: wine Branch: master Commit: 9e44f89d6b847b6bcb31942e9bad9832101ba65f URL: http://source.winehq.org/git/wine.git/?a=commit;h=9e44f89d6b847b6bcb31942e9b...
Author: Christian Costa titan.costa@gmail.com Date: Thu May 17 10:09:40 2012 +0200
d3drm: Implement IDirect3DRMFrameX_AddTransform.
---
dlls/d3drm/frame.c | 27 +++++++++++++++++++++++---- 1 files changed, 23 insertions(+), 4 deletions(-)
diff --git a/dlls/d3drm/frame.c b/dlls/d3drm/frame.c index fc15339..e530dcd 100644 --- a/dlls/d3drm/frame.c +++ b/dlls/d3drm/frame.c @@ -275,9 +275,9 @@ static HRESULT WINAPI IDirect3DRMFrame2Impl_AddTransform(IDirect3DRMFrame2* ifac { IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame2(iface);
- FIXME("(%p/%p)->(%u,%p): stub\n", iface, This, type, matrix); + TRACE("(%p/%p)->(%u,%p)\n", iface, This, type, matrix);
- return E_NOTIMPL; + return IDirect3DRMFrame3_AddTransform(&This->IDirect3DRMFrame3_iface, type, matrix); }
static HRESULT WINAPI IDirect3DRMFrame2Impl_AddTranslation(IDirect3DRMFrame2* iface, @@ -1253,9 +1253,28 @@ static HRESULT WINAPI IDirect3DRMFrame3Impl_AddTransform(IDirect3DRMFrame3* ifac { IDirect3DRMFrameImpl *This = impl_from_IDirect3DRMFrame3(iface);
- FIXME("(%p/%p)->(%u,%p): stub\n", iface, This, type, matrix); + TRACE("(%p/%p)->(%u,%p)\n", iface, This, type, matrix);
- return E_NOTIMPL; + switch (type) + { + case D3DRMCOMBINE_REPLACE: + memcpy(&This->transform[0][0], &matrix[0][0], sizeof(D3DRMMATRIX4D)); + break; + + case D3DRMCOMBINE_BEFORE: + FIXME("D3DRMCOMBINE_BEFORE not supported yed\n"); + break; + + case D3DRMCOMBINE_AFTER: + FIXME("D3DRMCOMBINE_AFTER not supported yed\n"); + break; + + default: + WARN("Unknown Combine Type %u\n", type); + return D3DRMERR_BADVALUE; + } + + return S_OK; }
static HRESULT WINAPI IDirect3DRMFrame3Impl_AddTranslation(IDirect3DRMFrame3* iface,