������static HRESULT WINAPI directx8_QueryInterface(IDirectX8 *iface, REFIID riid, void **ppv)
@@ -237,9 +440,11 @@ static HRESULT WINAPI directx8_DirectPlayAddressCreate(IDirectX8 *iface, DirectP

������static HRESULT WINAPI directx8_Direct3DCreate(IDirectX8 *iface, Direct3D8 **ret)
������{
-������ ������ FIXME("(%p): stub!\n", ret);
+������ ������ HRESULT res = direct3d8_create(ret);

-������ ������ return E_NOTIMPL;
+������ ������ TRACE("(%p) -> (%x)\n", ret, res);
+
+������ ������ return res;
������}

That's an unusual way to arrange things. Why don't you return as "return direct3d8_create();" ?