New winetricks 20080309: new verb 'icodecs'

2008-03-09 Thread Dan Kegel
Intel codecs are needed to run Tonka Search & Rescue 2
(which my son likes), so I added them to winetricks as 'icodecs'.

I also renamed allvcodecs to be allcodecs (since it's hard
to separate audio from video codecs sometimes)
and removed a spurious warning from wsh56.

As always, winetricks is at
  http://kegel.com/wine/winetricks
and
  http://winezeug.googlecode.com




Please remove/block DARKGuy user from the forum and user mailing list!

2008-03-09 Thread Vitaliy Margolen
What the subject say.




Processes and ioctl's

2008-03-09 Thread Maarten Lankhorst
Hi all,

I am hitting a snag with moving ioctl handling into mount manager. I
got the ioctl's working and itunes fairly satisfied, but now I'm
hitting another problem: The mount manager is not in the same process
any more as the application. This is an issue because one of the
ioctl's is passing a pointer in the struct itself, which gives a messy
situation if it doesn't run in the current application any more.

A workaround would be to use ReadProcessMemory and WriteProcessMemory,
then fudge the wineserver ioctl request to somehow pass a handle of
the calling process around so I can use that. This looks like it is
not a clean solution. Does anyone know how to do it cleanly?

Cheers,
Maarten.




Re: [PATCH] qedit: use skip in MediaDet test

2008-03-09 Thread Lei Zhang
On Thu, Feb 21, 2008 at 5:15 PM, Lei Zhang <[EMAIL PROTECTED]> wrote:
> Hi,
>
>  Dank pointed out the qedit test crashes with an old .wine directory.
>  Adding a skip().
>

Any reason why this wasn't committed?




Re: [PATCH 3/3] shell32: use well known directories from xdg-user-dirs (try 2)

2008-03-09 Thread Lei Zhang
On Wed, Mar 5, 2008 at 8:41 PM, Lei Zhang <[EMAIL PROTECTED]> wrote:
> Hi,
>
>  This sets the shell folders using values from xdg-user-dirs. The
>  existing shell folder code checks the shell folder registry keys, and
>  will not overwrite the values we set here.
>
>  This version converts the Unix paths to Unicode when needed.
>

It just occurred to me that I need to convert the Unix path to a dos path.

Should I just send the updated version of this patch, or resend the
first two patches in the series as well?




Re: Fwd: Re: RegOverridePredefKey stub - Take 2

2008-03-09 Thread Vitaliy Margolen

Jens Nestler wrote:
> Hello,
> six weeks ago I've sent this patch for a basic implementation of the  
> RegOverridePredefKey function.
> Unfortunately the patch was not considered till now.
> Can everybody help me ?
> 
You have some extra pieces in this patch. When you are submitting patch - 
make sure only one thing is being changed. Here you have some irrelevant 
changes in your patch.

Vitaliy.




Fwd: Re: RegOverridePredefKey stub - Take 2

2008-03-09 Thread Jens Nestler
Hello,
six weeks ago I've sent this patch for a basic implementation of the  
RegOverridePredefKey function.
Unfortunately the patch was not considered till now.
Can everybody help me ?

Jens
--- Begin Message ---
Am Dienstag, 29. Januar 2008 14:44:35 schrieb Dmitry Timoshkov:
> "Jens Nestler" <[EMAIL PROTECTED]> wrote:
> > Sorry, I haven't seen it.
> > Can you please change it, or should I deliver a changed patch ?
>
> Please resend and updated patch with a 'Take 2' in the subject and
> an explanation in the body what's changed.

Stub implementation for RegOverridePredefKey.
The added prototype in the winreg.h is now in alphabetical order.
Jens
diff -urN wine-0.9.54_org/dlls/advapi32/advapi32.spec wine-0.9.54/dlls/advapi32/advapi32.spec
--- wine-0.9.54_org/dlls/advapi32/advapi32.spec	2008-01-25 17:05:38.0 +0100
+++ wine-0.9.54/dlls/advapi32/advapi32.spec	2008-02-05 23:42:46.0 +0100
@@ -499,7 +499,7 @@
 @ stdcall RegOpenKeyExW(long wstr long long ptr)
 @ stdcall RegOpenKeyW(long wstr ptr)
 @ stdcall RegOpenUserClassesRoot(ptr long long ptr)
-@ stub RegOverridePredefKey
+@ stdcall RegOverridePredefKey(long long)
 @ stdcall RegQueryInfoKeyA(long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr)
 @ stdcall RegQueryInfoKeyW(long ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr ptr)
 @ stdcall RegQueryMultipleValuesA(long ptr long ptr ptr)
diff -urN wine-0.9.54_org/dlls/advapi32/registry.c wine-0.9.54/dlls/advapi32/registry.c
--- wine-0.9.54_org/dlls/advapi32/registry.c	2008-01-25 17:05:38.0 +0100
+++ wine-0.9.54/dlls/advapi32/registry.c	2008-02-05 23:42:46.0 +0100
@@ -2408,6 +2408,31 @@
 }
 
 /**
+ * RegOverridePredefKey [EMAIL PROTECTED]
+ *
+ * Map a predefined key to another key.
+ *
+ * PARAMS
+ *  hkey [I] Handle of a key to map, could be:
+ *   HKEY_CLASSES_ROOT / HKEY_CURRENT_CONFIG / HKEY_CURRENT_USER / HKEY_LOCAL_MACHINE / HKEY_PERFORMANCE_DATA / HKEY_USERS
+ *  hNewHKey [I] Handle to an open key hkey is mapped to.
+ *   RegOverridePredefKey restores the original mapping, if NULL is given
+ *
+ * RETURNS
+ *  Success: ERROR_SUCCESS
+ *  Failure: nonzero error code from Winerror.h
+ * 
+ * FIXME
+ *  function must be implemented
+ */
+
+LSTATUS WINAPI RegOverridePredefKey(HKEY hKey, HKEY hNewHKey)
+{
+FIXME("(%p, %p) stub\n", hKey, hNewHKey);
+return ERROR_CALL_NOT_IMPLEMENTED;
+}
+
+/**
  * load_string [Internal]
  *
  * This is basically a copy of user32/resource.c's LoadStringW. Necessary to
diff -urN wine-0.9.54_org/dlls/kernel32/path.c wine-0.9.54/dlls/kernel32/path.c
--- wine-0.9.54_org/dlls/kernel32/path.c	2008-01-25 17:05:38.0 +0100
+++ wine-0.9.54/dlls/kernel32/path.c	2008-01-28 22:59:19.0 +0100
@@ -1042,15 +1042,6 @@
 goto error;
 }
 
-if (info.FileAttributes & FILE_ATTRIBUTE_DIRECTORY)
-{
-if (flag & MOVEFILE_REPLACE_EXISTING)  /* cannot replace directory */
-{
-SetLastError( ERROR_INVALID_PARAMETER );
-goto error;
-}
-}
-
 /* we must have write access to the destination, and it must */
 /* not exist except if MOVEFILE_REPLACE_EXISTING is set */
 
@@ -1061,7 +1052,7 @@
 }
 status = NtOpenFile( &dest_handle, GENERIC_READ | GENERIC_WRITE, &attr, &io, 0,
  FILE_NON_DIRECTORY_FILE | FILE_SYNCHRONOUS_IO_NONALERT );
-if (status == STATUS_SUCCESS)
+if (status == STATUS_SUCCESS)  /* destination exists */
 {
 NtClose( dest_handle );
 if (!(flag & MOVEFILE_REPLACE_EXISTING))
@@ -1070,6 +1061,11 @@
 RtlFreeUnicodeString( &nt_name );
 goto error;
 }
+else if (info.FileAttributes & FILE_ATTRIBUTE_DIRECTORY) /* cannot replace directory */
+{
+SetLastError( ERROR_ACCESS_DENIED );
+goto error;
+}
 }
 else if (status != STATUS_OBJECT_NAME_NOT_FOUND)
 {
diff -urN wine-0.9.54_org/include/winreg.h wine-0.9.54/include/winreg.h
--- wine-0.9.54_org/include/winreg.h	2008-01-25 17:05:38.0 +0100
+++ wine-0.9.54/include/winreg.h	2008-02-05 23:44:46.0 +0100
@@ -143,6 +143,7 @@
 WINADVAPI LSTATUS   WINAPI RegOpenKeyExA(HKEY,LPCSTR,DWORD,REGSAM,PHKEY);
 #defineRegOpenKeyEx WINELIB_NAME_AW(RegOpenKeyEx)
 WINADVAPI LSTATUS   WINAPI RegOpenUserClassesRoot(HANDLE,DWORD,REGSAM,PHKEY);
+WINADVAPI LSTATUS   WINAPI RegOverridePredefKey(HKEY,HKEY);
 WINADVAPI LSTATUS   WINAPI RegQueryInfoKeyW(HKEY,LPWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPFILETIME);
 WINADVAPI LSTATUS   WINAPI RegQueryInfoKeyA(HKEY,LPSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPFILETIME);
 #defineRegQueryInfoKey WINELIB_NAME_AW(RegQueryInfoKey)
--- End Message ---



Re: [PATCH 6/6] wined3d: Dirtify p8 textures when device palettes change.

2008-03-09 Thread Roderick Colenbrander
> Hi Stefan,
> 
> About implementing ddraw-style palette on top of device palettes - I think
> this 
> way we would create more issues than we solve by it. As far as I'm
> concerned, I 
> don't feel like there's a lot of confusion coming from the fact there are
> two 
> palette interfaces, although there is some confusion primarily because
> device 
> palettes are used for ddraw purposes, mainly storing p8 primary surface's 
> palette.  That isn't a big trouble to avoid, as same can be done by
> accessing 
> dds_primary, I believe.
> 
> If ddraw palettes are mapped onto d3d8 style ones, then we need a
> mechanism of 
> allocating palette numbers and freeing them as needed. For example, AVP1
> does 
> palette creation/destruction a LOT (every frame or every few frames), so
> it's 
> not an unrealistic possibility to run out of palettes, if 65536 limit is
> kept 
> and something is done wrong.
> 
> You may be right about checking palette in IWineD3D*Texture::PreLoad. I
> guess 
> the palette9_changed call could simply be moved to PreLoad and it would 
> accomplish something like that.
> 
> Stefan Dösinger wrote:
> > Am Sonntag, 9. März 2008 15:10:54 schrieb Alexander Dorofeyev:
> >> Fixes problems with properly updating wine's P8 textures, when it is
> >> required because of device palette change.
> > Instead of iterating over all resources and finding P8 textures I think
> it 
> > would be nicer to store the palette the texture/surface was loaded with
> in 
> > each P8 / A8P8 surface and compare this stored palette to the current
> device 
> > palette in IWineD3DSurface::PreLoad(non-texture path) and 
> > IWineD3D*Texture::PreLoad.
> > 
> > With this, patch 4 could maybe be made nicer as well. If we have to
> verify the 
> > palettes anyway, we can remove the DDraw-Style IWineD3DPalette interface
> from 
> > WineD3D altogether, and just give each ddraw palette in ddraw.dll a
> WineD3D 
> > palette number and use the d3d8/9 palette management exclusively in
> WineD3D 
> > and avoid the confusion of having two palette interfaces.
> 
> 

I think we should continue splitting the ddraw and d3d8/9 palette interfaces. 
It took me a long time to get the ddraw in a reasonable shape (there are a few 
small issues left). There are differences and I think we get issues down the 
road if we don't explicitly split it like it is now. (at least you would get a 
lot of dxversion checks).

It is just that right now a few places which don't need the device palette code 
have it in (I mean there are places left which use the device palette when 
there is none set e.g. read_from_framebuffer, RealizePalette and others).

Roderick
-- 
Psst! Geheimtipp: Online Games kostenlos spielen bei den GMX Free Games! 
http://games.entertainment.gmx.net/de/entertainment/games/free




Re: oleacc: add GetOleaccVersionInfo

2008-03-09 Thread Reece Dunn
On 09/03/2008, Reece Dunn <[EMAIL PROTECTED]> wrote:
> On 09/03/2008, Louis. Lenders <[EMAIL PROTECTED]> wrote:
>  >
>  > Hi, this fixes crash in DietPower:
>  > http://bugs.winehq.org/show_bug.cgi?id=10102
>
>
> > +@ stdcall GetOleaccVersionInfo(long long)
>
>  Since both these arguments are DWORD*, they need to be ptr, not long.

Sorry for spamming wine-patches. I hit Reply to all without checking
the CC list.

- Reece




Re: oleacc: add GetOleaccVersionInfo

2008-03-09 Thread Reece Dunn
On 09/03/2008, Louis. Lenders <[EMAIL PROTECTED]> wrote:
>
> Hi, this fixes crash in DietPower:
> http://bugs.winehq.org/show_bug.cgi?id=10102

> +@ stdcall GetOleaccVersionInfo(long long)

Since both these arguments are DWORD*, they need to be ptr, not long.

- Reece




Re: [PATCH 6/6] wined3d: Dirtify p8 textures when device palettes change.

2008-03-09 Thread Alexander Dorofeyev
Hi Stefan,

About implementing ddraw-style palette on top of device palettes - I think this 
way we would create more issues than we solve by it. As far as I'm concerned, I 
don't feel like there's a lot of confusion coming from the fact there are two 
palette interfaces, although there is some confusion primarily because device 
palettes are used for ddraw purposes, mainly storing p8 primary surface's 
palette.  That isn't a big trouble to avoid, as same can be done by accessing 
dds_primary, I believe.

If ddraw palettes are mapped onto d3d8 style ones, then we need a mechanism of 
allocating palette numbers and freeing them as needed. For example, AVP1 does 
palette creation/destruction a LOT (every frame or every few frames), so it's 
not an unrealistic possibility to run out of palettes, if 65536 limit is kept 
and something is done wrong.

You may be right about checking palette in IWineD3D*Texture::PreLoad. I guess 
the palette9_changed call could simply be moved to PreLoad and it would 
accomplish something like that.

Stefan Dösinger wrote:
> Am Sonntag, 9. März 2008 15:10:54 schrieb Alexander Dorofeyev:
>> Fixes problems with properly updating wine's P8 textures, when it is
>> required because of device palette change.
> Instead of iterating over all resources and finding P8 textures I think it 
> would be nicer to store the palette the texture/surface was loaded with in 
> each P8 / A8P8 surface and compare this stored palette to the current device 
> palette in IWineD3DSurface::PreLoad(non-texture path) and 
> IWineD3D*Texture::PreLoad.
> 
> With this, patch 4 could maybe be made nicer as well. If we have to verify 
> the 
> palettes anyway, we can remove the DDraw-Style IWineD3DPalette interface from 
> WineD3D altogether, and just give each ddraw palette in ddraw.dll a WineD3D 
> palette number and use the d3d8/9 palette management exclusively in WineD3D 
> and avoid the confusion of having two palette interfaces.





Re: Implementing a new Direct3D function

2008-03-09 Thread Jérôme Gardou
Le Sunday 09 March 2008 18:35:16 [EMAIL PROTECTED], vous avez écrit :
> D3DXGetImageInfoFromFile takes the D3DXIMAGE_INFO structure as parameter,
> which has changed between d3dx8 an dd3dx9_36 though.
> This means you can't forward the D3DXGetImageInfoFromFile calls from d3dx9
> to d3dx8, (even if it is done like that atm, you should fix that an you
> patch) so you'll have to write two versions of each.
> Our plan for implementing d3dx was to keep any d3dx code away from wined3d,
> so you don't have to change anything about that.
> So basically all you have to do is
> (1) implement the d3dx8 version of each function
> (2) add them to the d3dx8 specfile
> (3) implement the d3dx9_36 version of each function
> (3) correct the d3dx9_36 specfile (i.e. remove the forwarding to d3dx8)
>
> The d3dx9_24 to 35 dlls forward their calls to d3dx9_36, so they are okay,
> too.
>
>
> Tony
>
>
>
>
> Unbegrenzter Speicher, Top-Spamschutz, 120 SMS und eigene E-MailDomain
> inkl.
> http://office.freenet.de/dienste/emailoffice/produktuebersicht/power/mail/i
>ndex.html

OK, then I'll do this that way. 
Also, d3dx9 provides support for multiple file format (PNG, TGA, BMP...). I 
assume I'll have to add those dependencies in the build process.





___ 
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son 
interface révolutionnaire.
http://fr.mail.yahoo.com





Re: Implementing a new Direct3D function

2008-03-09 Thread Stefan Dösinger
Am Sonntag, 9. März 2008 11:48:08 schrieb Jérôme Gardou:
> I'm trying to implement some direct3d functions, more precisely the
> GetImageInfoFromFile* ones.
>
> These are present in directX 8 and in d3dx9_xx.dll
>
> I wondered what is the best way to do this :
> 1)Implementing it in d3dx8.dll and forward everything to this one.
This is the way that was chosen for the other functions, so I think it is the 
way to go in this case as well


signature.asc
Description: This is a digitally signed message part.



Re: [PATCH 6/6] wined3d: Dirtify p8 textures when device palettes change.

2008-03-09 Thread Stefan Dösinger
Am Sonntag, 9. März 2008 15:10:54 schrieb Alexander Dorofeyev:
> Fixes problems with properly updating wine's P8 textures, when it is
> required because of device palette change.
Instead of iterating over all resources and finding P8 textures I think it 
would be nicer to store the palette the texture/surface was loaded with in 
each P8 / A8P8 surface and compare this stored palette to the current device 
palette in IWineD3DSurface::PreLoad(non-texture path) and 
IWineD3D*Texture::PreLoad.

With this, patch 4 could maybe be made nicer as well. If we have to verify the 
palettes anyway, we can remove the DDraw-Style IWineD3DPalette interface from 
WineD3D altogether, and just give each ddraw palette in ddraw.dll a WineD3D 
palette number and use the d3d8/9 palette management exclusively in WineD3D 
and avoid the confusion of having two palette interfaces.


signature.asc
Description: This is a digitally signed message part.



Re: [PATCH 4/6] wined3d: Make code safe if there are no device palettes.

2008-03-09 Thread Alexander Dorofeyev
Roderick Colenbrander wrote:
> First of all it appears that this patch contains multiple patches (e.g. the 
> direct3d9 getdc p8 check is one). I'll mention some others below. The p8 code 
> is very sensitive to bugs and those are most of the time very hard to fix, so 
> I'm quite strict. Various things need to be tested using testcases before 
> this patch (cut in pieces) can make it in.

All changes are functionally related (direct3d9 format check ensures any 
palette-related code below it will be ddraw/d3d <= 7 only), but ok, I guess 
it's 
possible to cut it into several pieces.

> In case of read_from_framebuffer when there is no palette set, just return 
> directly instead of adding an if(pal) check. The function won't do anything 
> useful without a palette. Further read_from_framebuffer shouldn't get called 
> from d3d8/9 games anyway as there aren't p8 render targets.

Agree about this.

> I wonder if we need SetDibColorTable at all in case of GetDC as the data the 
> app will receive in the hdc is 8bit. It wants to draw in it by hand, so I 
> would say that the palette won't matter. It might require a testcase.

I have no idea if any app actually uses it, but, hypothetically, it can call 
GetDIBColorTable, which seems to return meaningful results on native.

> The removal of the device palette code from RealizePalette can be done in a 
> separate patch.
> 
> I'm not sure if change in SetColorKey is correct in the case a surface 
> doesn't have a palette and uses the primary surface its palette. It doesn't 
> feel right. I think it should fail but this requires a testcase.
> 
> Second even if the call to SetDibColorTable is needed I wonder what should 
> happen on surfaces which don't have a palette set. It might be correct to use 
> the palette of the primary surface but it might also just be an illegal 
> situation.
I assume you mean GetDC because I didn't change SetColorKey. I did some tests 
in 
windows XP, if you obtain a dc from offscreen surface without a palette, then 
call GetDIBColorTable on this dc, you get a color table that matches palette of 
primary surface. I just replicated the existing functionality in Wine which was 
doing the same only using device palette as intermediary storage of primary 
palette: when setting palette to primary surface, entries were copied to 
current 
device palette, but when palette is missing in GetDC it was using current 
device 
palette that's the same as primary surface palette. I guess it's most likely 
obscure and unused functionality, but who knows if there's something that may 
rely on it.

I can integrate a test for this scenario (GetDC/GetDIBColorTable with offscreen 
surface that has not palette and compare it to primary surface palette) into 
ddraw testcases, if needed. Do you have ideas what else can be tested?




Re: [comctl32/tests #3] Use GetModuleHandleA instead of LoadLibraryA

2008-03-09 Thread Paul Vriens
Mikołaj Zalewski wrote:
>  I've changed GetModuleHandle to LoadLibrary because when I compiled 
> only tests/rebar.c as standalone, the comctl32 wasn't loaded and 
> GetModuleHandle returned NULL. Are there advantages from using 
> GetModuleHandle?
> 
> Mikołaj Zalewski
> 
Well, I was checking whether LoadLibrary was accompanied by a FreeLibrary. In 
this case it wasn't and I thought GetModuleHandle does the trick as well. It 
did 
for the other stuff in the comctl32 tests.

I'm not in favor of LoadLibrary or GetModuleHandle. I think the general rule 
could be:

If dll is already imported use GetModuleHandle unless compilation excludes the 
dll because there are no reference to the dll.

Does that look a bit sane?

The question that remains is should the full -tests be able to be compiled 
and run or should we have this to be correct for every single test? I mean that 
are no issues if you compile the whole comctl32 "testsuite".

If LoadLibrary is indeed needed it should be accompanied with a FreeLibrary and 
we probably need a comment for the why as well.

-- 
Cheers,

Paul.




Re: [comctl32/tests #3] Use GetModuleHandleA instead of LoadLibraryA

2008-03-09 Thread Mikołaj Zalewski
  I've changed GetModuleHandle to LoadLibrary because when I compiled 
only tests/rebar.c as standalone, the comctl32 wasn't loaded and 
GetModuleHandle returned NULL. Are there advantages from using 
GetModuleHandle?

Mikołaj Zalewski




Re: [PATCH 4/6] wined3d: Make code safe if there are no device palettes.

2008-03-09 Thread Roderick Colenbrander
> There are two types of palettes in wined3d: directx <= 7 style palettes as
> separate interface and d3d >= 8 style device palettes. Some code was
> defaulting 
> to device palettes in several places if there's no "old" style palette and
> using 
> device palettes to store ddraw primary surface's palette. This patch
> avoids use 
> of device palettes for anything else than their direct purpose. It is a 
> necessary preparation for making device palettes dynamically allocated as
> needed 
> (next patch), that prevents ddraw apps from crashing with the latter.
> ---
>   dlls/wined3d/palette.c  |   11 
>   dlls/wined3d/surface.c  |  109
> ++
>   dlls/wined3d/surface_base.c |   20 ++--
>   dlls/wined3d/surface_gdi.c  |   51 
>   4 files changed, 82 insertions(+), 109 deletions(-)

First of all it appears that this patch contains multiple patches (e.g. the 
direct3d9 getdc p8 check is one). I'll mention some others below. The p8 code 
is very sensitive to bugs and those are most of the time very hard to fix, so 
I'm quite strict. Various things need to be tested using testcases before this 
patch (cut in pieces) can make it in.

In case of read_from_framebuffer when there is no palette set, just return 
directly instead of adding an if(pal) check. The function won't do anything 
useful without a palette. Further read_from_framebuffer shouldn't get called 
from d3d8/9 games anyway as there aren't p8 render targets.

I wonder if we need SetDibColorTable at all in case of GetDC as the data the 
app will receive in the hdc is 8bit. It wants to draw in it by hand, so I would 
say that the palette won't matter. It might require a testcase.

The removal of the device palette code from RealizePalette can be done in a 
separate patch.

I'm not sure if change in SetColorKey is correct in the case a surface doesn't 
have a palette and uses the primary surface its palette. It doesn't feel right. 
I think it should fail but this requires a testcase.

Second even if the call to SetDibColorTable is needed I wonder what should 
happen on surfaces which don't have a palette set. It might be correct to use 
the palette of the primary surface but it might also just be an illegal 
situation.

Roderick
-- 
Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten 
Browser-Versionen downloaden: http://www.gmx.net/de/go/browser




Implementing a new Direct3D function

2008-03-09 Thread Jérôme Gardou
I'm trying to implement some direct3d functions, more precisely the 
GetImageInfoFromFile* ones.

These are present in directX 8 and in d3dx9_xx.dll

I wondered what is the best way to do this :
1)Implementing it in d3dx8.dll and forward everything to this one.
2) Make some useful functions in wined3d and then use them from d3dx8.
3) Implement them directly in wined3d, forwarding everything to it.
4) An other way ?

Cheers.
Jérôme





___ 
Yahoo! Mail réinvente le mail ! Découvrez le nouveau Yahoo! Mail et son 
interface révolutionnaire.
http://fr.mail.yahoo.com