Open sezero opened 7 years ago
Many thanks for your contribution, Applied by 3a6a52c037b0db5e71fd9e1e367ea697bb764605 commit.
I review ddraw header file and fix other errors by cd9692d3911342bbdde47c243a8504f042851b13 commit. Please, could you check it.
By a brief look, it seems OK, thanks.
One problem, and this one is not limited to ddraw.h but to all others as well: The GUID declarations doesn't respect the INITGUID user macro. The DEFINE_GUID macro should be used for them, which does respect the INITGUID macro.
Thanks for your comment. I will leave this issue open for future fixing, because it will require overall review of WIN32 header files and priority is not high
ms dx9sdk works like a charm with OW, but need to make sure headers / libraries come before the OW ones. A built in minimal sdk without bugs is a worthy goal though.
It is possible that it is working due to OW compatibility with MS compilers. But thare can be a problem with some MS features which are not implemented in OW and are used in MS headers. You are OK until you don't use similar feature.
@jmalak commented on Aug 12, 2017:
Thanks for your comment. I will leave this issue open for future fixing, because it will require overall review of WIN32 header files and priority is not high
Do you mean all files in bld/w32api/include
(recursively)?
Not all only DirectX related, but can be other referenced if something specific.
Changes are necessary in all w32 headers where GUIDs are defined, using DEFINE_GUID
obviously, and they all should be made to respect INITGUID
@sezero thanks for your specification
nt/directx/ddraw.h is unusable as it is: one can't compile SDL against it because of lots of erroneously defined interfaces and typos.
I made a very minimal patch to make SDL at least compile against it (attached here), but as I said the patch is minimal and not thoroughly tested and possibly misses many other mistakes.
ddraw.h from DX7 should be enough for comparing and fixing the OW version, it can be found at these ftps: ftp://malibu.tuxfamily.net/allegro/files/ ftp://absinthe.tuxfamily.net/allegro/files/
ddraw_patch.txt