David Adam : d3dx8: Implement D3DXCreateMatrixStack.

Alexandre Julliard julliard at winehq.org
Tue Dec 18 07:34:53 CST 2007


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

Author: David Adam <david.adam.cnrs at gmail.com>
Date:   Mon Dec 17 23:12:33 2007 +0100

d3dx8: Implement D3DXCreateMatrixStack.

---

 dlls/d3dx8/d3dx8.spec |    2 +-
 dlls/d3dx8/math.c     |   17 +++++++++++++++++
 2 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/dlls/d3dx8/d3dx8.spec b/dlls/d3dx8/d3dx8.spec
index 28b772e..0ccfdf2 100644
--- a/dlls/d3dx8/d3dx8.spec
+++ b/dlls/d3dx8/d3dx8.spec
@@ -68,7 +68,7 @@
 @ stdcall D3DXPlaneTransform(ptr ptr ptr)
 @ stdcall D3DXColorAdjustSaturation(ptr ptr long)
 @ stdcall D3DXColorAdjustContrast(ptr ptr long)
-@ stub D3DXCreateMatrixStack
+@ stdcall D3DXCreateMatrixStack(long ptr)
 @ stdcall D3DXCreateFont(ptr ptr ptr)
 @ stub D3DXCreateFontIndirect
 @ stub D3DXCreateSprite
diff --git a/dlls/d3dx8/math.c b/dlls/d3dx8/math.c
index 33a24fc..0446198 100644
--- a/dlls/d3dx8/math.c
+++ b/dlls/d3dx8/math.c
@@ -587,6 +587,23 @@ D3DXMATRIX* WINAPI D3DXMatrixTranspose(D3DXMATRIX *pout, CONST D3DXMATRIX *pm)
 
 /*_________________D3DXMatrixStack____________________*/
 
+HRESULT WINAPI D3DXCreateMatrixStack(DWORD flags, LPD3DXMATRIXSTACK* ppstack)
+{
+    ID3DXMatrixStackImpl* object;
+
+    object = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(ID3DXMatrixStackImpl));
+    if ( object == NULL )
+    {
+     *ppstack = NULL;
+     return E_OUTOFMEMORY;
+    }
+    object->lpVtbl = &ID3DXMatrixStack_Vtbl;
+    object->ref = 1;
+    object->current = 0;
+    *ppstack = (LPD3DXMATRIXSTACK)object;
+    return D3D_OK;
+}
+
 static HRESULT WINAPI ID3DXMatrixStackImpl_QueryInterface(ID3DXMatrixStack *iface, REFIID riid, void **ppobj)
 {
     ID3DXMatrixStackImpl *This = (ID3DXMatrixStackImpl *)iface;




More information about the wine-cvs mailing list