Implemented the ddraw HAL access escape (DCICOMMAND) in x11drv.
diff --git a/graphics/x11drv/init.c b/graphics/x11drv/init.c
index 56c49e5..33ba2ed 100644
--- a/graphics/x11drv/init.c
+++ b/graphics/x11drv/init.c
@@ -15,6 +15,7 @@
#include "debugtools.h"
#include "winnt.h"
#include "x11drv.h"
+#include "ddrawi.h"
DEFAULT_DEBUG_CHANNEL(x11drv);
@@ -321,6 +322,18 @@
{
switch( nEscape )
{
+ case QUERYESCSUPPORT:
+ if( lpInData )
+ {
+ LPINT16 lpEscape = MapSL(lpInData);
+ switch (*lpEscape)
+ {
+ case DCICOMMAND:
+ return DD_HAL_VERSION;
+ }
+ }
+ break;
+
case GETSCALINGFACTOR:
if( lpOutData )
{
@@ -329,7 +342,16 @@
return 1;
}
break;
+
+ case DCICOMMAND:
+ if( lpInData )
+ {
+ LPDCICMD lpCmd = MapSL(lpInData);
+ if (lpCmd->dwVersion != DD_VERSION) break;
+ return X11DRV_DCICommand(cbInput, lpCmd, MapSL(lpOutData));
+ }
+ break;
+
}
return 0;
}
-