DirectX usage
<i>This post was originally made by <b>danij</b> on the dengDevs blog. It was posted under the categories: Engine, Windows.</i>
As I'm sure you are aware, various APIs within DirectX are being dropped (depreciated) as of version 9. The following is a list of the APIs affected:
<ul>
<li>DirectMusic</li>
<li>DirectPlay (ver 4 and earlier)</li>
<li>DirectDraw (ver 6 and earlier)</li>
<li>Direct3D (ver 8 and earlier)</li>
<li>DirectInput (ver 7 and earlier)</li>
</ul>
As you can see, some of these APIs are still being used in Doomsday under Windows so we need to begin thinking about updating our DirectX usage.
As I'm sure you are aware, various APIs within DirectX are being dropped (depreciated) as of version 9. The following is a list of the APIs affected:
<ul>
<li>DirectMusic</li>
<li>DirectPlay (ver 4 and earlier)</li>
<li>DirectDraw (ver 6 and earlier)</li>
<li>Direct3D (ver 8 and earlier)</li>
<li>DirectInput (ver 7 and earlier)</li>
</ul>
As you can see, some of these APIs are still being used in Doomsday under Windows so we need to begin thinking about updating our DirectX usage.
Comments
I just wanted to make the issue public so that we can all be sure of what needs doing and where we should be going.
OpenGL can do everything DirectX can do, even any funky DirectX10 stuff - without you needing to buy Vista
However, there are requirements under Vista (at least) which mean we cannot use SDL completely and we will have to use DirectX directly for some things.
For example, we should be making Doomsday available under the Vista Game Explorer interface. This means we need to talk directly with the DirectX API for things like parental control, access rights determination etc.
Another example, the XInput device controllers (used for Xbox360 pads) are not currently handled in SDL. The extended functionality offered by these devices is not available via SDL.
But yes, most likely we'll need to do some Windows-specific stuff in addition to using SDL, for those things you mention.
As deng's Windows developer I'm happy to accept responsibility for any specific code needed to do the things I'm suggesting.