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.