From c2f00b3170abefc240df966792824f635128d1c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Gardou?= Date: Wed, 12 Nov 2008 08:54:20 +0100 Subject: [PATCH] d3dx8: Implement D3DXMatrixStack_RotateAxisLocal. --- dlls/d3dx8/math.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/dlls/d3dx8/math.c b/dlls/d3dx8/math.c index e264fff1ebc..919cfacc193 100644 --- a/dlls/d3dx8/math.c +++ b/dlls/d3dx8/math.c @@ -778,9 +778,16 @@ static HRESULT WINAPI ID3DXMatrixStackImpl_RotateAxis(ID3DXMatrixStack *iface, C static HRESULT WINAPI ID3DXMatrixStackImpl_RotateAxisLocal(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], &temp, &This->stack[This->current]); + + return D3D_OK; } static HRESULT WINAPI ID3DXMatrixStackImpl_RotateYawPitchRoll(ID3DXMatrixStack *iface, FLOAT x, FLOAT y, FLOAT z)