d3d10

2009-10-29 Thread Luis C. Busquets Pérez

Dear all,

Since d3d10effect has advanced a lot during the latest weeks I was 
wondering what are the next steps that you are planning to develop.


In particutar, I wonder about:
1. Do DepthStencil and RasterizerState present major differences in 
terms of capabilities compared to D3D9? I mean that coding 
ID3D10EffectDepthStencilVariable 
http://msdn.microsoft.com/en-us/library/ee418970%28VS.85%29.aspx is 
very easy once you have ID3D10DepthStencilState (just call 
ID3D10Device_CreateDepthStencilState for 
http://msdn.microsoft.com/en-us/library/bb173546%28VS.85%29.aspxID3D10EffectDepthStencilVariable::GetDepthStencilState 
and 
http://msdn.microsoft.com/en-us/library/bb173641%28VS.85%29.aspxID3D10EffectDepthStencilVariable::GetBackingStore 
http://msdn.microsoft.com/en-us/library/bb173640%28VS.85%29.aspx 
should only be recovering the data from a private variable).
Furthermore,  ID3D10Device::OMSetDepthStencilState is just a bunch of 
IWineD3DDevice_SetRenderState calls because I think that wined3d already 
implements all the required functionality, doesn't it?.
ID3D10Device::OMGetDepthStencilState 
http://msdn.microsoft.com/en-us/library/bb173593%28VS.85%29.aspx would 
be a bunch of IWineD3DDevice_GetRenderState.
ID3D10EffectRasterizerVariable. 
http://msdn.microsoft.com/en-us/library/bb173640%28VS.85%29.aspx 
presents the analogous thing (together with ID3D10Device::RSSetState), 
doesn't it?
2. For ID3D10EffectBlendVariable 
http://msdn.microsoft.com/en-us/library/ee418962%28VS.85%29.aspx I 
think that that is different. what are the major difficulties concerning 
the capabilities that D3D10 offers compared to D3D9 conerning blending 
and do you see them achievable beofre this year ends?
3. Last, for ID3D10Device::RSGetViewports/ID3D10Device::RSSetViewports 
and ID3D10Device::RSGetScissorRects/ID3D10Device::RSSetScissorRects, the 
difficulty may lay in accepting in the wine driver more thatn one 
rect/viewport. Do you agree? Are you planning an upgrade in wined3d to 
refer to *rect rather than rect in the stateblock definition? The 
analogous question applies to viewports.


I was wondering all that because I am considering asking Santa for D3D10 
games for next Christmas and would like to know the roadmap of wine 
D3D10 development.







RE: D3D shader assembler (Matteo Bruni)

2009-07-19 Thread Luis C. Busquets Pérez
I read several months ago that the itnetion was to create the assembler 
inside the wined3d and then use its functionality inside the diverse 
d3dx9 implementations. Has this changed? I think it was Stefan Dösinger 
sho proposed it:


d3dx - wined3d assembler
the wined3d will be re-usable and the d3dx functions will be extremely easy.




Effects in D3D10 and D3DX

2009-03-02 Thread Luis C. Busquets Pérez
  I have seen that Henri Verbeet has begun the implementation of 
ID3D10Effect. Since there is a ID3DX9Effect interface I wonder of the 
possibility of creating something like wined3deffect and refer 
ID3DXEffect and ID3D10Effect to that wined3deffect implementation.




Re: Google Summer of code

2008-03-15 Thread Luis C. Busquets Pérez
Following your comment I understand that you will be implementing the 
hard core of D3DXCompileShaderxx.


Nevertheless, I have already a simplification of the 
D3DXCompileShaderFromFilexx functionsStefan Dösinger escribió. This are 
being work referring to D3DXCompileShaderFromFileExW on the basement, i.e:


D3DXCompileShaderFromFileA -- D3DXCompileShaderFromFileW
D3DXCompileShaderFromFileExA -- D3DXCompileShaderFromFileExW
D3DXCompileShaderFromFileW -- D3DXCompileShaderFromFileExW

Please find the patch attached. I have tested it with Civilizqation4, which as explained calls D3DXCompileShaderFromFileA. To test 3DXCompileShaderFromFileExA I tried a temporary path of 
D3DXCompileShaderFromFileA -- D3DXCompileShaderFromFileExA


All this using the work around of implementing the three calling functions 
(D3DXCompileShaderFromFileA, D3DXCompileShaderFromFileW, 
D3DXCompileShaderFromFileExA) in d3dx9_32 for testing and now setting the code 
on d3dx9_36 obviously. The tests have been ok.

Please let me know your comments and if you think that it can be submitted to 
wine-patches.





Am Donnerstag, 13. März 2008 18:26:17 schrieb Luis C. Busquets Pérez:
  

Proposing another thing if implementing d3dx9_36.dll is too much I
propose to implement:
 1   D3DXAssembleShader
 2   D3DXAssembleShaderFromFileA
 3   D3DXCompileShader
 4   D3DXCompileShaderFromFileA

I plan to implement those as a university project now(I already got the 
general approval for it, just need to sort out the details)


  

 5   D3DXCreateCubeTextureFromFileExA
 6   D3DXCreateCubeTextureFromFileInMemory
 7   D3DXCreateEffectCompilerFromFileA
 8   D3DXCreateEffectFromFileA
 9   D3DXCreateTextureFromFileExA
10   D3DXCreateTextureFromFileInMemory
11   D3DXCreateVolumeTextureFromFileExA
12   D3DXCreateVolumeTextureFromFileInMemory
13   D3DXGetImageInfoFromFileInMemory
14   D3DXGetPixelShaderProfile
15   D3DXGetShaderConstantTable
16   D3DXGetShaderInputSemantics
17   D3DXGetShaderVersion
18   D3DXGetVertexShaderProfile
19   D3DXLoadSurfaceFromSurface
20   D3DXSaveSurfaceToFileA
21   D3DXSaveTextureToFileA

That's a long enough list in itself I think. You shouldn't cap it off at 
specifically the functions CIV4 calls, but rather look for blocks of 
functionality.
  


diff --git a/dlls/d3dx9_36/Makefile.in b/dlls/d3dx9_36/Makefile.in
index 3b0f062..d10561c 100644
--- a/dlls/d3dx9_36/Makefile.in
+++ b/dlls/d3dx9_36/Makefile.in
@@ -7,7 +7,8 @@ IMPORTLIB = d3dx9
 IMPORTS   = d3d9 d3dx8 kernel32
 
 C_SRCS = \
-	d3dx9_36_main.c
+	d3dx9_36_main.c \
+	effect.c
 
 @MAKE_DLL_RULES@
 
diff --git a/dlls/d3dx9_36/d3dx9_36.spec b/dlls/d3dx9_36/d3dx9_36.spec
index c859e94..d4e9d76 100644
--- a/dlls/d3dx9_36/d3dx9_36.spec
+++ b/dlls/d3dx9_36/d3dx9_36.spec
@@ -53,10 +53,10 @@
 @ stub D3DXCreateEffectCompilerFromResourceA
 @ stub D3DXCreateEffectCompilerFromResourceW
 @ stub D3DXCreateEffectEx
-@ stub D3DXCreateEffectFromFileA
-@ stub D3DXCreateEffectFromFileExA
-@ stub D3DXCreateEffectFromFileExW
-@ stub D3DXCreateEffectFromFileW
+@ stdcall D3DXCreateEffectFromFileA(ptr ptr ptr ptr long ptr ptr ptr)
+@ stdcall D3DXCreateEffectFromFileExA(ptr ptr ptr ptr ptr long ptr ptr ptr)
+@ stdcall D3DXCreateEffectFromFileExW(ptr ptr ptr ptr ptr long ptr ptr ptr)
+@ stdcall D3DXCreateEffectFromFileW(ptr ptr ptr ptr long ptr ptr ptr)
 @ stub D3DXCreateEffectFromResourceA
 @ stub D3DXCreateEffectFromResourceExA
 @ stub D3DXCreateEffectFromResourceExW
diff --git a/dlls/d3dx9_36/effect.c b/dlls/d3dx9_36/effect.c
new file mode 100644
index 000..2ee7769
--- /dev/null
+++ b/dlls/d3dx9_36/effect.c
@@ -0,0 +1,128 @@
+/*
+ * Direct3D X 9 effect file
+ *
+ * Copyright (C) 2008 Luis Busquets
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ *
+ */
+
+#include config.h
+#include wine/port.h
+#include stdarg.h
+#include windef.h
+#include winbase.h
+#include wingdi.h
+#include winuser.h
+#include wine/debug.h
+#include wine/unicode.h
+#include d3dx9.h
+
+typedef struct D3DXMACRO {
+LPCSTR Name;
+LPCSTR Definition;
+} D3DXMACRO, *LPD3DXMACRO;
+
+typedef interface ID3DXInclude *LPD3DXINCLUDE;
+typedef interface ID3DXEffectPool *LPD3DXEFFECTPOOL;
+typedef interface ID3DXEffect *LPD3DXEFFECT

d3dx8: Implementation of D3DXGetFVFVertexSize

2008-03-13 Thread Luis C. Busquets Pérez

Is ther eany problem with this patch?

---
 dlls/d3dx8/d3dx8_main.c |   59 
+-

 1 files changed, 57 insertions(+), 2 deletions(-)
diff --git a/dlls/d3dx8/d3dx8_main.c b/dlls/d3dx8/d3dx8_main.c
index ee897a8..a1d37b8 100644
--- a/dlls/d3dx8/d3dx8_main.c
+++ b/dlls/d3dx8/d3dx8_main.c
@@ -61,8 +61,63 @@ HRESULT WINAPI D3DXCreateFont(LPDIRECT3DDEVICE8 pDevice, HFONT hFont, LPD3DXFONT
 }
 
 UINT WINAPI D3DXGetFVFVertexSize(DWORD FVF) {
-  FIXME((void): stub\n);
-  return 0;
+  UINT size=0;
+  UINT i;
+  UINT texture;
+  switch (FVF  D3DFVF_XYZB5) {
+ case D3DFVF_XYZ:
+size=12;
+break;
+ case D3DFVF_XYZRHW:
+size=16;
+break;
+ case D3DFVF_XYZB1:
+size=16;
+break;
+ case D3DFVF_XYZB2:
+size=20;
+break;
+ case D3DFVF_XYZB3:
+size=24;
+break;
+ case D3DFVF_XYZB4:
+size=28;
+break;
+ case D3DFVF_XYZB5:
+size=32;
+break;
+ default:
+FIXME(Not Implemented.);
+break;
+}
+  if (FVF  D3DFVF_NORMAL)
+ size=size + 12;
+  if (FVF  D3DFVF_PSIZE)
+ size=size + 4;
+  if (FVF  D3DFVF_DIFFUSE)
+ size=size + 4;
+  if (FVF  D3DFVF_SPECULAR)
+ size=size + 4;
+  texture = FVF  16;
+  for (i=0;i((FVF0x0f00)  16);i++) {
+ switch (texture  3) {
+  case D3DFVF_TEXTUREFORMAT1:
+size=size + 4;
+break;
+  case D3DFVF_TEXTUREFORMAT2:
+size=size + 8;
+break;
+  case D3DFVF_TEXTUREFORMAT3:
+size=size + 12;
+break;
+  case D3DFVF_TEXTUREFORMAT4:
+size=size + 16;
+break;
+  }
+ texture = FVF 2;
+   }
+
+  return size;
 }
 
 HRESULT WINAPI D3DXAssembleShader(LPCVOID pSrcData, UINT SrcDataLen, DWORD Flags, 




Google Summer of code

2008-03-13 Thread Luis C. Busquets Pérez
Proposing another thing if implementing d3dx9_36.dll is too much I 
propose to implement:
 1   D3DXAssembleShader
 2   D3DXAssembleShaderFromFileA
 3   D3DXCompileShader
 4   D3DXCompileShaderFromFileA
 5   D3DXCreateCubeTextureFromFileExA
 6   D3DXCreateCubeTextureFromFileInMemory
 7   D3DXCreateEffectCompilerFromFileA
 8   D3DXCreateEffectFromFileA
 9   D3DXCreateTextureFromFileExA
10   D3DXCreateTextureFromFileInMemory
11   D3DXCreateVolumeTextureFromFileExA
12   D3DXCreateVolumeTextureFromFileInMemory
13   D3DXGetImageInfoFromFileInMemory
14   D3DXGetPixelShaderProfile
15   D3DXGetShaderConstantTable
16   D3DXGetShaderInputSemantics
17   D3DXGetShaderVersion
18   D3DXGetVertexShaderProfile
19   D3DXLoadSurfaceFromSurface
20   D3DXSaveSurfaceToFileA
21   D3DXSaveTextureToFileA

Which are the functions that Sid Meier's Civilization 4 calls and are 
not yet implemented from d3dx9_32 (36)





Google Summer of Code

2008-03-07 Thread Luis C. Busquets Pérez
Please find attached some projects that could be in this Summer of Code:
1. Finishing the implementation of d3dx9_36. Since we have already the 
forwarding d3dx9_xx there is just need for the this dll to be in our 
system. With this fully dll implemented tehre would be no need.

2. msxml.dll, msxml2.dll, msxml2a.dll, msxml2r.dll, msxml3.dll, 
msxml3r.dll, msxml4.dll, msxml4a.dll, msxml4r.dll, msxml5.dll, 
msxml5r.dll, msxml6.dll msxml6r.dll and WinHTTP5.dll are all versions 
referring to the same API together with resoruces. Since wine is already 
implementing msxml3.dll I see that a good thing would be to link the 
rest of the files and implement them allñ together. I assume that the 
biggest part of the work will be repeated.

3. The same that applies to point 2 applise to all files msvcrxx.dll 
(msvcr80.dll, msvcr70.dll,

4, As in point 3, implementing msvcpxx.dll could also be a job




d3dx9_xx

2008-02-22 Thread Luis C. Busquets Pérez

The number of functions reported in
http://www.winehq.org/site/winapi_stats
for the following dlls is

d3dx9_24308
d3dx9_25311
d3dx9_26315
d3dx9_27315
d3dx9_28320
d3dx9_29320
d3dx9_30320
d3dx9_31317
d3dx9_32322
d3dx9_33322
d3dx9_34322
d3dx9_35322
d3dx9_36325


Nevertheless, the correct number is

d3dx9_24320
d3dx9_25323
d3dx9_26327
d3dx9_27327
d3dx9_28332
d3dx9_29332
d3dx9_30332
d3dx9_31329
d3dx9_32334
d3dx9_33334
d3dx9_34334
d3dx9_35334
d3dx9_36336






Bug in patch winex11.drv: Don't create a win_data structure for the desktop window, except in the process that owns it.

2008-02-05 Thread Luis C. Busquets Pérez
There is a bug in the patch:

c19af910ebafa9b1928b0f67bee68f6b0b237e8e is first bad commit
commit c19af910ebafa9b1928b0f67bee68f6b0b237e8e
Author: Alexandre Julliard [EMAIL PROTECTED]
Date:   Thu Jan 17 19:53:59 2008 +0100

winex11.drv: Don't create a win_data structure for the desktop 
window, except in the process that owns it.
   
Handle desktop size changes by sending a message to the desktop owner.

:04 04 b7c030353fe92121bb999481724a3689429b2e8a 
80fd2c5f4ace2707abb01648bd61663a6c9d7626 M  dlls


It affects to Patrician3.exe. When initiating, it hangs and does not 
allow to play the movie. Actually, the programm changes the screen 
resolution and hangs. I understand that the problem is that it does not 
send the appropiate message for binkplayer.exe to play the movie.




Re: [Fwd: d3dx8: Implement D3DXCreateTextureFromFile]

2008-02-04 Thread Luis C. Busquets Pérez

Why has this patch not been accepted?
Luis C. Busquets Pérez escribió:
 I have created a /dlls/d3dx8/texture.c file where to put all functions 
 related to textures and d3dx8.

 I have included D3DXIMAGE_FILEFORMAT in the patch because it is 
 referred by D3DXIMAGE_FILEFORMAT which is referred in the function. If 
 not included, it would not compile. They both are now in 
 /include/d3dx8.h whci I think is the appropiate file. Do you propose 
 to put them elsewhere?

 Do you think I am missing anything or is it ok?





[Fwd: d3dx8: Implement D3DXCreateTextureFromFile]

2008-01-27 Thread Luis C. Busquets Pérez
I have created a /dlls/d3dx8/texture.c file where to put all functions 
related to textures and d3dx8.


I have included D3DXIMAGE_FILEFORMAT in the patch because it is referred 
by D3DXIMAGE_FILEFORMAT which is referred in the function. If not 
included, it would not compile. They both are now in /include/d3dx8.h 
whci I think is the appropiate file. Do you propose to put them elsewhere?


Do you think I am missing anything or is it ok?
---BeginMessage---

Implementation of the simple D3DXCreateTextureFromFile functions in
relation to the Extended functions

---
 dlls/d3dx8/Makefile.in |1 +
 dlls/d3dx8/d3dx8.spec  |8 ++--
 dlls/d3dx8/texture.c   |   86 


 include/d3dx8.h|1 +
 include/d3dx8texture.h |   43 
 5 files changed, 135 insertions(+), 4 deletions(-)
 create mode 100644 dlls/d3dx8/texture.c
 create mode 100644 include/d3dx8texture.h
diff --git a/dlls/d3dx8/Makefile.in b/dlls/d3dx8/Makefile.in
index cbee6e5..d56807e 100644
--- a/dlls/d3dx8/Makefile.in
+++ b/dlls/d3dx8/Makefile.in
@@ -10,6 +10,7 @@ EXTRALIBS = -ldxguid -luuid
 C_SRCS = \
 	d3dx8_main.c \
 	d3dxbuffer.c \
+	texture.c \
 	math.c
 
 @MAKE_DLL_RULES@
diff --git a/dlls/d3dx8/d3dx8.spec b/dlls/d3dx8/d3dx8.spec
index 0ccfdf2..929fe0a 100644
--- a/dlls/d3dx8/d3dx8.spec
+++ b/dlls/d3dx8/d3dx8.spec
@@ -129,12 +129,12 @@
 @ stub D3DXLoadVolumeFromMemory
 @ stub D3DXCheckTextureRequirements
 @ stub D3DXCreateTexture
-@ stub D3DXCreateTextureFromFileA
-@ stub D3DXCreateTextureFromFileW
+@ stdcall D3DXCreateTextureFromFileA(ptr ptr ptr)
+@ stdcall D3DXCreateTextureFromFileW(ptr ptr ptr)
 @ stub D3DXCreateTextureFromResourceA
 @ stub D3DXCreateTextureFromResourceW
-@ stub D3DXCreateTextureFromFileExA
-@ stub D3DXCreateTextureFromFileExW
+@ stdcall D3DXCreateTextureFromFileExA(ptr ptr long long long long ptr ptr long long ptr ptr ptr ptr)
+@ stdcall D3DXCreateTextureFromFileExW(ptr ptr long long long long ptr ptr long long ptr ptr ptr ptr)
 @ stub D3DXCreateTextureFromResourceExA
 @ stub D3DXCreateTextureFromResourceExW
 @ stub D3DXCreateTextureFromFileInMemory
diff --git a/dlls/d3dx8/texture.c b/dlls/d3dx8/texture.c
new file mode 100644
index 000..fd98f76
--- /dev/null
+++ b/dlls/d3dx8/texture.c
@@ -0,0 +1,86 @@
+/*
+ * Direct3D X 8 texture file
+ *
+ * Copyright (C) 2008 Luis C. Busquets Pérez
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ *
+ */
+
+#include config.h
+#include wine/port.h
+#include stdarg.h
+#include windef.h
+#include winbase.h
+#include wingdi.h
+#include winuser.h
+#include wine/debug.h
+#include d3dx8_private.h
+
+WINE_DEFAULT_DEBUG_CHANNEL(d3d);
+
+HRESULT WINAPI D3DXCreateTextureFromFileExW(LPDIRECT3DDEVICE8 pDevice,
+LPWSTR pSrcFile,
+UINT Width,
+UINT Height,
+UINT MipLevels,
+DWORD Usage,
+D3DFORMAT Format,
+D3DPOOL Pool,
+DWORD Filter,
+DWORD MipFilter,
+D3DCOLOR ColorKey,
+D3DXIMAGE_INFO *pSrcInfo,
+PALETTEENTRY *pPalette,
+LPDIRECT3DTEXTURE8 *ppTexture)
+{
+  FIXME((void): stub\n);
+  return D3D_OK;
+}
+
+HRESULT WINAPI D3DXCreateTextureFromFileW(LPDIRECT3DDEVICE8 pDevice,
+LPWSTR pSrcFile,
+LPDIRECT3DTEXTURE8 *ppTexture)
+{
+  return D3DXCreateTextureFromFileExW(pDevice, pSrcFile, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL,NULL, ppTexture);
+}
+
+HRESULT WINAPI D3DXCreateTextureFromFileExA(LPDIRECT3DDEVICE8 pDevice,
+LPSTR pSrcFile,
+UINT Width,
+UINT Height,
+UINT MipLevels,
+DWORD Usage,
+D3DFORMAT Format,
+D3DPOOL Pool,
+DWORD Filter,
+DWORD MipFilter,
+D3DCOLOR ColorKey,
+D3DXIMAGE_INFO *pSrcInfo,
+PALETTEENTRY *pPalette,
+LPDIRECT3DTEXTURE8 *ppTexture)
+{
+  FIXME((void): stub\n);
+  return D3D_OK;
+}
+
+HRESULT WINAPI D3DXCreateTextureFromFileA(LPDIRECT3DDEVICE8 pDevice,
+LPSTR pSrcFile,
+LPDIRECT3DTEXTURE8 *ppTexture)
+{
+  return D3DXCreateTextureFromFileExA(pDevice, pSrcFile, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL,NULL, ppTexture);
+}
+
+
diff --git a/include/d3dx8.h b/include/d3dx8.h
index 52ddaf3..e446a56 100644
--- a/include/d3dx8.h
+++ b/include/d3dx8.h
@@ -24,5 +24,6 @@
 
 #include d3dx8math.h
 

d3dx8: Implement D3DXCreateTextureFromFile functions in relation to the extended version - 3rd try

2008-01-27 Thread Luis C. Busquets Pérez

d3dx8tex.h with the mentioned name.

I should be done now. Please send comments if not.

---
 dlls/d3dx8/Makefile.in |1 +
 dlls/d3dx8/d3dx8.spec  |8 ++--
 dlls/d3dx8/texture.c   |   86 


 include/d3dx8.h|1 +
 include/d3dx8tex.h |   43 
 5 files changed, 135 insertions(+), 4 deletions(-)
 create mode 100644 dlls/d3dx8/texture.c
 create mode 100644 include/d3dx8tex.h
diff --git a/dlls/d3dx8/Makefile.in b/dlls/d3dx8/Makefile.in
index cbee6e5..d56807e 100644
--- a/dlls/d3dx8/Makefile.in
+++ b/dlls/d3dx8/Makefile.in
@@ -10,6 +10,7 @@ EXTRALIBS = -ldxguid -luuid
 C_SRCS = \
 	d3dx8_main.c \
 	d3dxbuffer.c \
+	texture.c \
 	math.c
 
 @MAKE_DLL_RULES@
diff --git a/dlls/d3dx8/d3dx8.spec b/dlls/d3dx8/d3dx8.spec
index 0ccfdf2..929fe0a 100644
--- a/dlls/d3dx8/d3dx8.spec
+++ b/dlls/d3dx8/d3dx8.spec
@@ -129,12 +129,12 @@
 @ stub D3DXLoadVolumeFromMemory
 @ stub D3DXCheckTextureRequirements
 @ stub D3DXCreateTexture
-@ stub D3DXCreateTextureFromFileA
-@ stub D3DXCreateTextureFromFileW
+@ stdcall D3DXCreateTextureFromFileA(ptr ptr ptr)
+@ stdcall D3DXCreateTextureFromFileW(ptr ptr ptr)
 @ stub D3DXCreateTextureFromResourceA
 @ stub D3DXCreateTextureFromResourceW
-@ stub D3DXCreateTextureFromFileExA
-@ stub D3DXCreateTextureFromFileExW
+@ stdcall D3DXCreateTextureFromFileExA(ptr ptr long long long long ptr ptr long long ptr ptr ptr ptr)
+@ stdcall D3DXCreateTextureFromFileExW(ptr ptr long long long long ptr ptr long long ptr ptr ptr ptr)
 @ stub D3DXCreateTextureFromResourceExA
 @ stub D3DXCreateTextureFromResourceExW
 @ stub D3DXCreateTextureFromFileInMemory
diff --git a/dlls/d3dx8/texture.c b/dlls/d3dx8/texture.c
new file mode 100644
index 000..fd98f76
--- /dev/null
+++ b/dlls/d3dx8/texture.c
@@ -0,0 +1,86 @@
+/*
+ * Direct3D X 8 texture file
+ *
+ * Copyright (C) 2008 Luis C. Busquets Pérez
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ *
+ */
+
+#include config.h
+#include wine/port.h
+#include stdarg.h
+#include windef.h
+#include winbase.h
+#include wingdi.h
+#include winuser.h
+#include wine/debug.h
+#include d3dx8_private.h
+
+WINE_DEFAULT_DEBUG_CHANNEL(d3d);
+
+HRESULT WINAPI D3DXCreateTextureFromFileExW(LPDIRECT3DDEVICE8 pDevice,
+LPWSTR pSrcFile,
+UINT Width,
+UINT Height,
+UINT MipLevels,
+DWORD Usage,
+D3DFORMAT Format,
+D3DPOOL Pool,
+DWORD Filter,
+DWORD MipFilter,
+D3DCOLOR ColorKey,
+D3DXIMAGE_INFO *pSrcInfo,
+PALETTEENTRY *pPalette,
+LPDIRECT3DTEXTURE8 *ppTexture)
+{
+  FIXME((void): stub\n);
+  return D3D_OK;
+}
+
+HRESULT WINAPI D3DXCreateTextureFromFileW(LPDIRECT3DDEVICE8 pDevice,
+LPWSTR pSrcFile,
+LPDIRECT3DTEXTURE8 *ppTexture)
+{
+  return D3DXCreateTextureFromFileExW(pDevice, pSrcFile, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL,NULL, ppTexture);
+}
+
+HRESULT WINAPI D3DXCreateTextureFromFileExA(LPDIRECT3DDEVICE8 pDevice,
+LPSTR pSrcFile,
+UINT Width,
+UINT Height,
+UINT MipLevels,
+DWORD Usage,
+D3DFORMAT Format,
+D3DPOOL Pool,
+DWORD Filter,
+DWORD MipFilter,
+D3DCOLOR ColorKey,
+D3DXIMAGE_INFO *pSrcInfo,
+PALETTEENTRY *pPalette,
+LPDIRECT3DTEXTURE8 *ppTexture)
+{
+  FIXME((void): stub\n);
+  return D3D_OK;
+}
+
+HRESULT WINAPI D3DXCreateTextureFromFileA(LPDIRECT3DDEVICE8 pDevice,
+LPSTR pSrcFile,
+LPDIRECT3DTEXTURE8 *ppTexture)
+{
+  return D3DXCreateTextureFromFileExA(pDevice, pSrcFile, 0, 0, 0, 0, 1, 0, 0, 0, 0, NULL,NULL, ppTexture);
+}
+
+
diff --git a/include/d3dx8.h b/include/d3dx8.h
index 52ddaf3..fefba46 100644
--- a/include/d3dx8.h
+++ b/include/d3dx8.h
@@ -24,5 +24,6 @@
 
 #include d3dx8math.h
 #include d3dx8core.h
+#include d3dx8tex.h
 
 #endif
diff --git a/include/d3dx8tex.h b/include/d3dx8tex.h
new file mode 100644
index 000..3167edf
--- /dev/null
+++ b/include/d3dx8tex.h
@@ -0,0 +1,43 @@
+/*
+ * Copyright (C) 2008 Luis C. Busquets Pérez
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the 

d3dx8, d3dx9_xx and d3dx10_xx

2008-01-26 Thread Luis C. Busquets Pérez
Find attached some data on d3dx8, d3dx9_xx and d3dx10_xx implementations:
dll files by d3dx extension:
d3dx8 1 dll files
d3dx9_xx   13 dll files
d3dx10_xx  4 dll files

Functions included in each d3dx:
DLL  Number of functions
d3dx8  153
d3dx9_24 320
d3dx9_25 323
d3dx9_26 327
d3dx9_27 327
d3dx9_28 332
d3dx9_29 332
d3dx9_30 332
d3dx9_31 329
d3dx9_32 334
d3dx9_33 334
d3dx9_34 334
d3dx9_35 334
d3dx9_36 336
d3dx10_33   177
d3dx10_34   177
d3dx10_35   180
d3dx10_36   180

Total functions for all d3dx implementations: 5162 functions.

Total functions for all d3dx implementations taking into account 
repetitions: 425 functions

 From these 425 functions:
Functions specific to d3dx8: 15
Functions specific to d3dx9: 165
Functions specific to d3dx10: 71
Functions shared between d3dx8 and d3dx9: 65
Functions shared between d3dx9 and d3dx10: 35
Functions shared between the three implementations: 74

On the other hand, considering individual dlls,
17 functions are only mentioned in one dll
3 functions are mentioned in 2 dlls
68 functions are mentioned in 4 dlls
2 functions are mentioned in 7 dlls
10 functions are mentioned in 9 dlls
5 functions are mentioned in 11 dlls
3 functions are mentioned in 12 dlls
149 functions are mentioned in 13 dlls
65 functions are mentioned in 14 dlls
29 functions are mentioned in 17 dlls
74 functions are mentioned in 18 dlls





GDI32.dll.NamedEscape

2008-01-14 Thread Luis C. Busquets Pérez
I am having problems with a bunch of three games that came together in 
the same pack. They all abort qhen asking for installation with the 
following line

wine: Call from 0x73ba1895 to unimplemented function 
GDI32.dll.NamedEscape, aborting

Does anybody know what GDI32.dll.NamedEscape does?

Does anybody intend to implement it in the near future?




d3ds9_xx

2007-12-07 Thread Luis C. Busquets Pérez
I have not seen any patch committed beginning the implementation of 
these libraries. Therefore, I was wondering which is the tree structure 
for these dlls that all of you propose and Alexander is willing to commit.





d3dx8 [patch 1/10] Implement D3DXPlaneFromPointNormal

2007-11-30 Thread Luis C. Busquets Pérez
I still do not see why it is not possible to have only one folder 
dlls/d3dx9/ with the thirteen spec files inside. After all, the vast 
majority of its code is repeated and it is the same system ctl3d, 
ctl3d32 and ctl3dv2 use as the three specs are in dlls/ctl3d32

This is not creating subfolders in dlls/d3dx9 but just putting all spec 
files in it.




D3DX

2007-10-04 Thread Luis C. Busquets Pérez
Dear all and in particular Alexander and Louis,

I have seen that the work d3dx8 has began and that a number of functions 
have been added to the spec. I know this is a recurring subject but I 
think something should be done now.

As you know, the fowllowing files
 d3dx8.dll
d3dx9_24.dll
d3dx9_24.dll
d3dx9_24.dll
d3dx9_24.dll
d3dx9_24.dll




D3DX

2007-10-04 Thread Luis C. Busquets Pérez
Dear all and in particular Alexander and Louis,

I have seen that the work d3dx8 has began and that a number of functions 
have been added to the spec. I know this is a recurring subject but I 
think something should be done now.

As you know, the fowllowing files
d3dx8.dll
d3dx9_24.dll
d3dx9_25.dll
d3dx9_26.dll
d3dx9_27.dll
d3dx9_28.dll
d3dx9_29.dll
d3dx9_30.dll
d3dx9_31.dll
d3dx9_32.dll
d3dx9_33.dll
d3dx9_34.dll
d3dx9_35.dll
Share a large number of functions. Actually, 142 of the 153 the 
functions you have added to d3dx8.spec are repeated in all those dlls.
I think that a merge development should be done. That is to develop just 
one dlls/d3dx/d3dx.spec together with the different dlls/d3dx/xx.c files 
implementing those functions with the 349 functions that are used in all 
those d3d extensions. Then, the spec files of each specific file 
referring to d3dx.
Are you opposed to such alternative?

Luis






Win API Stats page broken

2007-08-24 Thread Luis C. Busquets Pérez

The web page indicating the status of the wine API:

http://www.winehq.org/site/winapi_stats

is corrupted and indicates an SQL error. I assume that there is some 
information in the database corrupted:


Warning: mysql_num_fields(): supplied argument is not a valid MySQL 
result resource in /home/winehq/opt/tools/winapi_stats.php on line 118 
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL 
result resource in /home/winehq/opt/tools/winapi_stats.php on line 129


last modified: Fri Aug 24 9:53:14 CDT 2007

Who deals with it?






Re: Re: Re: Forum proposal

2007-03-01 Thread Luis C. Busquets Pérez

I understand that for some people the mailing list is a far better thing. May 
be for some other, a forum is better.

Why not having both? Running a forum does not exclude continuing with the 
mailing lists and could add users and developpers who find more easy coordinate 
through a forum.

Configuring phpBB (www.phpbb.com) does not take more than 1 hour . I have made 
a try in 30 minutes starting from not knowing anything about this package:

http://ns2.ilidium.com:8011/

Why not trying both systems?



I fully agree with Jonathan - the mail lists that have gone to forums I've dropped off.  I can check the mail lists 
quickly, easily, filter as necessary and get what I need without having to sign on and wade through a bunch of posts.  
If people really want forums setup a forum and let those who want it use it.



 
 From: Jonathan Allen [EMAIL PROTECTED]

 Date: 2007/03/01 Thu AM 11:20:18 EST
 To: wine-devel@winehq.org
 Subject: Re: Forum proposal
 
 On Thu, Mar 01, 2007 at 05:15:03PM +0100, Luis Carlos Busquets Pérez wrote:
  

  Instead of having the mailing lists, I think that a forum would increase
  and facilitate the group working.

 
 I could agree less.  IMHO a mailing list works well by making sure that

 everyone gets everything, without them needing to go anywhere to get it.
 A forum wil immediately disenfranchise all thsoe who have no immediate
 need to go and visit the forum site every day and so will miss important
 annoucements and so on.  Bad idea.
 
 Jonathan