Jérôme Gardou : d3dx8: Implement D3DXMatrixStack_RotateAxis.

Alexandre Julliard julliard at winehq.org
Fri Nov 28 07:16:45 CST 2008


Module: wine
Branch: master
Commit: 896e30761a284a2a4b5efe9d6647f66cd294a02c
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=896e30761a284a2a4b5efe9d6647f66cd294a02c

Author: Jérôme Gardou <jerome.gardou at gmail.com>
Date:   Wed Nov 12 08:52:56 2008 +0100

d3dx8: Implement D3DXMatrixStack_RotateAxis.

---

 dlls/d3dx8/math.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/dlls/d3dx8/math.c b/dlls/d3dx8/math.c
index 87c0f7a..e264fff 100644
--- a/dlls/d3dx8/math.c
+++ b/dlls/d3dx8/math.c
@@ -764,9 +764,16 @@ static HRESULT WINAPI ID3DXMatrixStackImpl_Push(ID3DXMatrixStack *iface)
 
 static HRESULT WINAPI ID3DXMatrixStackImpl_RotateAxis(ID3DXMatrixStack *iface, CONST D3DXVECTOR3 *pv, FLOAT angle)
 {
+    D3DXMATRIX temp;
     ID3DXMatrixStackImpl *This = (ID3DXMatrixStackImpl *)iface;
-    FIXME("(%p) : stub\n",This);
-    return E_NOTIMPL;
+
+    TRACE("iface %p\n", iface);
+
+    if (!pv) return D3DERR_INVALIDCALL;
+    D3DXMatrixRotationAxis(&temp, pv, angle);
+    D3DXMatrixMultiply(&This->stack[This->current], &This->stack[This->current], &temp);
+
+    return D3D_OK;
 }
 
 static HRESULT WINAPI ID3DXMatrixStackImpl_RotateAxisLocal(ID3DXMatrixStack *iface, CONST D3DXVECTOR3 *pv, FLOAT angle)




More information about the wine-cvs mailing list