Author: greatlrd
Date: Wed Nov 29 22:12:06 2006
New Revision: 24971
URL:
http://svn.reactos.org/svn/reactos?rev=24971&view=rev
Log:
fixing more of dections of DDCREATE_HARDWAREONLY and DDCREATE_EMULATIONONLY,
we are now swicting betwin mix HEL and HAL, only HAL, or only HEL. But this is not
complete yet
Modified:
trunk/reactos/dll/directx/ddraw/startup.c
Modified: trunk/reactos/dll/directx/ddraw/startup.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/startup.…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/startup.c (original)
+++ trunk/reactos/dll/directx/ddraw/startup.c Wed Nov 29 22:12:06 2006
@@ -499,65 +499,65 @@
/* Mix the DDExeBuf CALLBACKS */
- if (This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_CANCREATEEXEBUF)
+ if ((This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_CANCREATEEXEBUF) && (devicetypes !=3))
{
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.CanCreateExecuteBuffer =
This->lpLcl->lpDDCB->HALDDExeBuf.CanCreateExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |=
DDHAL_EXEBUFCB32_CANCREATEEXEBUF;
}
- else if (This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_CANCREATEEXEBUF)
+ else if ((This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_CANCREATEEXEBUF) && (devicetypes !=2))
{
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.CanCreateExecuteBuffer =
This->lpLcl->lpDDCB->HELDDExeBuf.CanCreateExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |=
DDHAL_EXEBUFCB32_CANCREATEEXEBUF;
}
- if (This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_CREATEEXEBUF)
+ if ((This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_CREATEEXEBUF) && (devicetypes !=3))
{
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.CreateExecuteBuffer =
This->lpLcl->lpDDCB->HALDDExeBuf.CreateExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |=
DDHAL_EXEBUFCB32_CREATEEXEBUF;
}
- else if (This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_CREATEEXEBUF)
+ else if ((This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_CREATEEXEBUF) && (devicetypes !=2))
{
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.CreateExecuteBuffer =
This->lpLcl->lpDDCB->HELDDExeBuf.CreateExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |=
DDHAL_EXEBUFCB32_CREATEEXEBUF;
}
- if (This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_DESTROYEXEBUF)
+ if ((This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_DESTROYEXEBUF) && (devicetypes !=3))
{
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.DestroyExecuteBuffer =
This->lpLcl->lpDDCB->HALDDExeBuf.DestroyExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |=
DDHAL_EXEBUFCB32_DESTROYEXEBUF;
}
- else if (This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_DESTROYEXEBUF)
+ else if ((This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_DESTROYEXEBUF) && (devicetypes !=2))
{
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.DestroyExecuteBuffer =
This->lpLcl->lpDDCB->HELDDExeBuf.DestroyExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |=
DDHAL_EXEBUFCB32_DESTROYEXEBUF;
}
- if (This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_LOCKEXEBUF)
+ if ((This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_LOCKEXEBUF) && (devicetypes !=3))
{
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.LockExecuteBuffer =
This->lpLcl->lpDDCB->HALDDExeBuf.LockExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |=
DDHAL_EXEBUFCB32_LOCKEXEBUF;
}
- else if (This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_LOCKEXEBUF)
+ else if ((This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_LOCKEXEBUF) && (devicetypes !=2))
{
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.LockExecuteBuffer =
This->lpLcl->lpDDCB->HELDDExeBuf.LockExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |=
DDHAL_EXEBUFCB32_LOCKEXEBUF;
}
- if (This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_UNLOCKEXEBUF)
+ if ((This->lpLcl->lpDDCB->HALDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_UNLOCKEXEBUF) && (devicetypes !=3))
{
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.UnlockExecuteBuffer =
This->lpLcl->lpDDCB->HALDDExeBuf.UnlockExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |=
DDHAL_EXEBUFCB32_UNLOCKEXEBUF;
}
- else if (This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_UNLOCKEXEBUF)
+ else if ((This->lpLcl->lpDDCB->HELDDExeBuf.dwFlags &
DDHAL_EXEBUFCB32_UNLOCKEXEBUF) && (devicetypes !=2))
{
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.UnlockExecuteBuffer =
This->lpLcl->lpDDCB->HELDDExeBuf.UnlockExecuteBuffer;