The reason for these changes is because of Visual Studio. I tried to compile wined3d and a bunch of other dlls on Visual Studio (for a part using Wine headers) and it failed because INTERFACE was not undefined in some Microsoft headers (I don't remember which one, so it was a bug there). The Microsoft ddraw.h/d3d8/d3d9 and other headers do the same before declaring the IDirect3D interfaces (actually dsound and tons of other headers also do it).
Roderick
On Wed, Sep 8, 2010 at 5:22 AM, Alexandre Julliard julliard@winehq.org wrote:
Roderick Colenbrander thunderbird2k@gmail.com writes:
@@ -129,6 +129,7 @@ typedef struct IDirect3DVolumeTexture8 *LPDIRECT3DVOLUMETEXTURE8, *PDIRECT3DVOLU /***************************************************************************** * IDirect3D8 interface */ +#undef INTERFACE #define INTERFACE IDirect3D8 DECLARE_INTERFACE_(IDirect3D8,IUnknown) {
The standard pattern is that it's undefined right after being used. Places that don't do that should be fixed.
-- Alexandre Julliard julliard@winehq.org