Module: wine Branch: master Commit: 8b405d5dc93bb764d32627f78e476f7614918390 URL: http://source.winehq.org/git/wine.git/?a=commit;h=8b405d5dc93bb764d32627f78e...
Author: Christian Costa titan.costa@gmail.com Date: Thu May 17 10:09:31 2012 +0200
d3drm: Load transform matrix and aply it to the current frame.
---
dlls/d3drm/d3drm.c | 21 +++++++++++++++++++++ 1 files changed, 21 insertions(+), 0 deletions(-)
diff --git a/dlls/d3drm/d3drm.c b/dlls/d3drm/d3drm.c index ba666dc..a96ff52 100644 --- a/dlls/d3drm/d3drm.c +++ b/dlls/d3drm/d3drm.c @@ -1423,6 +1423,27 @@ HRESULT load_data(IDirect3DRM3* iface, LPDIRECTXFILEDATA data_object, LPIID* GUI FIXME("Processing material not supported yet\n"); } } + else if (IsEqualGUID(guid, &TID_D3DRMFrameTransformMatrix)) + { + TRACE("Found TID_D3DRMFrameTransformMatrix\n"); + + if (parent_frame) + { + D3DRMMATRIX4D matrix; + DWORD size; + + TRACE("Load Frame Transform Matrix data\n"); + + size = sizeof(matrix); + hr = IDirectXFileData_GetData(data_object, NULL, &size, (void**)matrix); + if ((hr != DXFILE_OK) || (size != sizeof(matrix))) + goto end; + + hr = IDirect3DRMFrame3_AddTransform(parent_frame, D3DRMCOMBINE_REPLACE, matrix); + if (FAILED(hr)) + goto end; + } + } else { FIXME("Found unknown TID %s\n", debugstr_guid(guid));