<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Oct 31, 2017 at 2:31 AM, Fabian Maurer <span dir="ltr"><<a href="mailto:dark.shadow4@web.de" target="_blank">dark.shadow4@web.de</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
        main.c<br>
<br>
 IDL_SRCS = dx8vb.idl<br>
diff --git a/dlls/dx8vb/d3dx8.c b/dlls/dx8vb/d3dx8.c<br>
new file mode 100644<br>
index 0000000000..2959849547<br>
--- /dev/null<br>
+++ b/dlls/dx8vb/d3dx8.c<br>
@@ -0,0 +1,861 @@<br>
+ /*<br>
+ * Copyright 2017 Fabian Maurer<br>
+ *<br>
+ * This library is free software; you can redistribute it and/or<br>
+ * modify it under the terms of the GNU Lesser General Public<br>
+ * License as published by the Free Software Foundation; either<br>
+ * version 2.1 of the License, or (at your option) any later version.<br>
+ *<br>
+ * This library is distributed in the hope that it will be useful,<br>
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of<br>
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU<br>
+ * Lesser General Public License for more details.<br>
+ *<br>
+ * You should have received a copy of the GNU Lesser General Public<br>
+ * License along with this library; if not, write to the Free Software<br>
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA<br>
+ */<br>
+<br>
+#define COBJMACROS<br>
+<br>
+#include "config.h"<br>
+<br>
+#include "dx8vb_private.h"<br>
+#include "ocidl.h"<br>
+<br>
+#include "wine/debug.h"<br>
+<br>
+WINE_DEFAULT_DEBUG_CHANNEL(<wbr>dx8vb);<br>
+<br>
+typedef struct<br>
+{<br>
+    ID3DX8 ID3DX8_iface;<br>
+    LONG ref;<br>
+} d3dx8;<br>
+<br>
+static inline d3dx8 *impl_from_ID3DX8(ID3DX8 *iface)<br>
+{<br>
+    return CONTAINING_RECORD(iface, d3dx8, ID3DX8_iface);<br>
+}<br>
+<br>
+/*** d3dx8 - IUnknown methods ***/<br>
+<br></blockquote><div><br></div><div>Comment seems a bit useless, you're not going to use this file for anything else.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
+static HRESULT WINAPI d3dx8_QueryInterface(ID3DX8 *iface, REFIID riid, void **ppv)<br>
+{<br>
+    d3dx8 *This = impl_from_ID3DX8(iface);<br>
+<br>
+    TRACE("(%p/%p)->(%s,%p)\n", iface, This, debugstr_guid(riid), ppv);<br>
+<br>
+    *ppv = NULL;<br>
+<br>
+    if (IsEqualGUID(riid, &IID_IUnknown))<br>
+        *ppv = &This->ID3DX8_iface;<br>
+    else if(IsEqualGUID(riid, &IID_ID3DX8))<br>
+        *ppv = &This->ID3DX8_iface;<br>
+    else if(IsEqualGUID(riid, &IID_IPersistPropertyBag))<br>
+        FIXME("No interface for IID_IPersistPropertyBag\n");<br>
+    else if(IsEqualGUID(riid, &IID_IPersistStreamInit))<br>
+        FIXME("No interface for IID_IPersistStreamInit\n");<br>
+    else<br></blockquote><div><br></div><div>Where does this come from?</div></div></div></div>