No subject


Wed Feb 20 09:39:33 CST 2008


functions=0A=0A---=0A dlls/d3dx9_36/Makefile.in        |    3 +-=0A dlls/d3=
dx9_36/d3dx9_36.spec      |    2 +-=0A dlls/d3dx9_36/d3dx9_36_private.h |  =
  9 +++=0A dlls/d3dx9_36/rts.c              |  136 ++++++++++++++++++++++++=
++++++++++++++=0A 4 files changed, 148 insertions(+), 2 deletions(-)=0A cre=
ate mode 100644 dlls/d3dx9_36/rts.c=0A=0Adiff --git a/dlls/d3dx9_36/Makefil=
e.in b/dlls/d3dx9_36/Makefile.in=0Aindex b82933b..e6f51b5 100644=0A--- a/dl=
ls/d3dx9_36/Makefile.in=0A+++ b/dlls/d3dx9_36/Makefile.in=0A@@ -11,7 +11,8 =
@@ C_SRCS =3D \=0A =09font.c \=0A =09line.c \=0A =09sprite.c \=0A-=09rtem.c=
=0A+=09rtem.c \=0A+=09rts.c=0A =0A @MAKE_DLL_RULES@=0A =0Adiff --git a/dlls=
/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec=0Aindex 826e9da..eff7=
42f 100644=0A--- a/dlls/d3dx9_36/d3dx9_36.spec=0A+++ b/dlls/d3dx9_36/d3dx9_=
36.spec=0A@@ -82,7 +82,7 @@=0A @ stub D3DXCreatePRTCompBuffer=0A @ stub D3D=
XCreatePRTEngine=0A @ stdcall D3DXCreateRenderToEnvMap(ptr long long long l=
ong long ptr)=0A-@ stub D3DXCreateRenderToSurface=0A+@ stdcall D3DXCreateRe=
nderToSurface(ptr long long long long long ptr)=0A @ stdcall D3DXCreateSPMe=
sh(ptr ptr ptr ptr ptr) d3dx8.D3DXCreateSPMesh=0A @ stub D3DXCreateSkinInfo=
=0A @ stub D3DXCreateSkinInfoFromBlendedMesh=0Adiff --git a/dlls/d3dx9_36/d=
3dx9_36_private.h b/dlls/d3dx9_36/d3dx9_36_private.h=0Aindex e86dde1..de96c=
bd 100644=0A--- a/dlls/d3dx9_36/d3dx9_36_private.h=0A+++ b/dlls/d3dx9_36/d3=
dx9_36_private.h=0A@@ -63,4 +63,13 @@ typedef struct ID3DXRenderToEnvMapImp=
l=0A   /* ID3DXRenderToEnvMap fields */=0A } ID3DXRenderToEnvMapImpl;=0A =
=0A+typedef struct ID3DXRenderToSurfaceImpl=0A+{=0A+  /* IUnknown fields */=
=0A+  const ID3DXRenderToSurface *lpVtbl;=0A+  LONG ref;=0A+=0A+  /* ID3DXR=
enderToSurface fields */=0A+} ID3DXRenderToSurfaceImpl;=0A+=0A #endif /* __=
WINE_D3DX9_36_PRIVATE_H */=0Adiff --git a/dlls/d3dx9_36/rts.c b/dlls/d3dx9_=
36/rts.c=0Anew file mode 100644=0Aindex 0000000..ef61926=0A--- /dev/null=0A=
+++ b/dlls/d3dx9_36/rts.c=0A@@ -0,0 +1,136 @@=0A+/*=0A+ * Copyright (C) 200=
8 Tony Wasserka=0A+ *=0A+ * This library is free software; you can redistri=
bute it and/or=0A+ * modify it under the terms of the GNU Lesser General Pu=
blic=0A+ * License as published by the Free Software Foundation; either=0A+=
 * version 2.1 of the License, or (at your option) any later version.=0A+ *=
=0A+ * This library is distributed in the hope that it will be useful,=0A+ =
* but WITHOUT ANY WARRANTY; without even the implied warranty of=0A+ * MERC=
HANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU=0A+ * Lesser =
General Public License for more details.=0A+ *=0A+ * You should have receiv=
ed a copy of the GNU Lesser General Public=0A+ * License along with this li=
brary; if not, write to the Free Software=0A+ * Foundation, Inc., 51 Frankl=
in St, Fifth Floor, Boston, MA 02110-1301, USA=0A+ *=0A+ */=0A+=0A+#include=
 "config.h"=0A+#include "wine/port.h"=0A+=0A+#include "wine/debug.h"=0A+#in=
clude "d3dx9_36_private.h"=0A+=0A+WINE_DEFAULT_DEBUG_CHANNEL(d3dx);=0A+=0A+=
static HRESULT WINAPI ID3DXRenderToSurfaceImpl_QueryInterface(LPD3DXRENDERT=
OSURFACE iface, REFIID riid, LPVOID *object)=0A+{=0A+    ID3DXRenderToSurfa=
ceImpl *This=3D(ID3DXRenderToSurfaceImpl*)iface;=0A+=0A+    TRACE("(%p): Qu=
eryInterface from %s\n", This, debugstr_guid(riid));=0A+    if(IsEqualGUID(=
riid, &IID_IUnknown) || IsEqualGUID(riid, &IID_ID3DXRenderToSurface)) {=0A+=
        IUnknown_AddRef(iface);=0A+        *object=3DThis;=0A+        retur=
n S_OK;=0A+    }=0A+    WARN("(%p)->(%s, %p): not found\n", iface, debugstr=
_guid(riid), *object);=0A+    return E_NOINTERFACE;=0A+}=0A+=0A+static ULON=
G WINAPI ID3DXRenderToSurfaceImpl_AddRef(LPD3DXRENDERTOSURFACE iface)=0A+{=
=0A+    ID3DXRenderToSurfaceImpl *This=3D(ID3DXRenderToSurfaceImpl*)iface;=
=0A+    ULONG ref=3DInterlockedIncrement(&This->ref);=0A+    TRACE("(%p): A=
ddRef from %d\n", This, ref-1);=0A+    return ref;=0A+}=0A+=0A+static ULONG=
 WINAPI ID3DXRenderToSurfaceImpl_Release(LPD3DXRENDERTOSURFACE iface)=0A+{=
=0A+    ID3DXRenderToSurfaceImpl *This=3D(ID3DXRenderToSurfaceImpl*)iface;=
=0A+    ULONG ref=3DInterlockedDecrement(&This->ref);=0A+    TRACE("(%p): R=
eleaseRef to %d\n", This, ref);=0A+=0A+    if(ref=3D=3D0) {=0A+        Heap=
Free(GetProcessHeap(), 0, This);=0A+    }=0A+    return ref;=0A+}=0A+=0A+st=
atic HRESULT WINAPI ID3DXRenderToSurfaceImpl_GetDevice(LPD3DXRENDERTOSURFAC=
E iface, LPDIRECT3DDEVICE9 *device)=0A+{=0A+    ID3DXRenderToSurfaceImpl *T=
his=3D(ID3DXRenderToSurfaceImpl*)iface;=0A+    FIXME("(%p): stub\n", This);=
=0A+    return D3D_OK;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXRenderToSurfa=
ceImpl_GetDesc(LPD3DXRENDERTOSURFACE iface, D3DXRTS_DESC *desc)=0A+{=0A+   =
 ID3DXRenderToSurfaceImpl *This=3D(ID3DXRenderToSurfaceImpl*)iface;=0A+    =
FIXME("(%p): stub\n", This);=0A+    return D3D_OK;=0A+}=0A+=0A+static HRESU=
LT WINAPI ID3DXRenderToSurfaceImpl_BeginScene(LPD3DXRENDERTOSURFACE iface, =
LPDIRECT3DSURFACE9 surface, CONST D3DVIEWPORT9 *viewport)=0A+{=0A+    ID3DX=
RenderToSurfaceImpl *This=3D(ID3DXRenderToSurfaceImpl*)iface;=0A+    FIXME(=
"(%p): stub\n", This);=0A+    return D3D_OK;=0A+}=0A+=0A+static HRESULT WIN=
API ID3DXRenderToSurfaceImpl_EndScene(LPD3DXRENDERTOSURFACE iface, DWORD mi=
pfilter)=0A+{=0A+    ID3DXRenderToSurfaceImpl *This=3D(ID3DXRenderToSurface=
Impl*)iface;=0A+    FIXME("(%p): stub\n", This);=0A+    return D3D_OK;=0A+}=
=0A+=0A+static HRESULT WINAPI ID3DXRenderToSurfaceImpl_OnLostDevice(LPD3DXR=
ENDERTOSURFACE iface)=0A+{=0A+    ID3DXRenderToSurfaceImpl *This=3D(ID3DXRe=
nderToSurfaceImpl*)iface;=0A+    FIXME("(%p): stub\n", This);=0A+    return=
 D3D_OK;=0A+}=0A+=0A+static HRESULT WINAPI ID3DXRenderToSurfaceImpl_OnReset=
Device(LPD3DXRENDERTOSURFACE iface)=0A+{=0A+    ID3DXRenderToSurfaceImpl *T=
his=3D(ID3DXRenderToSurfaceImpl*)iface;=0A+    FIXME("(%p): stub\n", This);=
=0A+    return D3D_OK;=0A+}=0A+=0A+static const ID3DXRenderToSurfaceVtbl D3=
DXRenderToSurface_Vtbl =3D=0A+{=0A+    /*** IUnknown methods ***/=0A+    ID=
3DXRenderToSurfaceImpl_QueryInterface,=0A+    ID3DXRenderToSurfaceImpl_AddR=
ef,=0A+    ID3DXRenderToSurfaceImpl_Release,=0A+    /*** ID3DXRenderToSurfa=
ce methods ***/=0A+    ID3DXRenderToSurfaceImpl_GetDevice,=0A+    ID3DXRend=
erToSurfaceImpl_GetDesc,=0A+    ID3DXRenderToSurfaceImpl_BeginScene,=0A+   =
 ID3DXRenderToSurfaceImpl_EndScene,=0A+    ID3DXRenderToSurfaceImpl_OnLostD=
evice,=0A+    ID3DXRenderToSurfaceImpl_OnResetDevice=0A+};=0A+=0A+HRESULT W=
INAPI D3DXCreateRenderToSurface(LPDIRECT3DDEVICE9 device, UINT size, UINT m=
iplevels, D3DFORMAT format, BOOL stencil, D3DFORMAT stencil_format, LPD3DXR=
ENDERTOSURFACE *rts)=0A+{=0A+    ID3DXRenderToSurfaceImpl *object;=0A+=0A+ =
   FIXME("stub\n");=0A+=0A+    object=3DHeapAlloc(GetProcessHeap(), HEAP_ZE=
RO_MEMORY, sizeof(ID3DXRenderToSurfaceImpl));=0A+    if(object=3D=3DNULL) {=
=0A+        *rts=3DNULL;=0A+        return E_OUTOFMEMORY;=0A+    }=0A+    o=
bject->lpVtbl=3D&D3DXRenderToSurface_Vtbl;=0A+    object->ref=3D1;=0A+=0A+ =
   *rts=3D(LPD3DXRENDERTOSURFACE)object;=0A+=0A+    return D3D_OK;=0A+}=0A-=
- =0A1.5.3.7=0A=0A

--b3790d36d346f26445f3868a3a420ee5b--



More information about the wine-patches mailing list