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

svn path=/trunk/; revision=24971
This commit is contained in:
Magnus Olsen 2006-11-29 19:12:06 +00:00
parent 1d4d4056b4
commit 495e62c516

View file

@ -499,65 +499,65 @@ StartDirectDraw(LPDIRECTDRAW* iface, LPGUID lpGuid)
/* Mix the DDExeBuf CALLBACKS */ /* 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->cbDDExeBufCallbacks.CanCreateExecuteBuffer =
This->lpLcl->lpDDCB->HALDDExeBuf.CanCreateExecuteBuffer; This->lpLcl->lpDDCB->HALDDExeBuf.CanCreateExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_CANCREATEEXEBUF; 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->cbDDExeBufCallbacks.CanCreateExecuteBuffer =
This->lpLcl->lpDDCB->HELDDExeBuf.CanCreateExecuteBuffer; This->lpLcl->lpDDCB->HELDDExeBuf.CanCreateExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_CANCREATEEXEBUF; 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->cbDDExeBufCallbacks.CreateExecuteBuffer =
This->lpLcl->lpDDCB->HALDDExeBuf.CreateExecuteBuffer; This->lpLcl->lpDDCB->HALDDExeBuf.CreateExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_CREATEEXEBUF; 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->cbDDExeBufCallbacks.CreateExecuteBuffer =
This->lpLcl->lpDDCB->HELDDExeBuf.CreateExecuteBuffer; This->lpLcl->lpDDCB->HELDDExeBuf.CreateExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_CREATEEXEBUF; 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->cbDDExeBufCallbacks.DestroyExecuteBuffer =
This->lpLcl->lpDDCB->HALDDExeBuf.DestroyExecuteBuffer; This->lpLcl->lpDDCB->HALDDExeBuf.DestroyExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_DESTROYEXEBUF; 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->cbDDExeBufCallbacks.DestroyExecuteBuffer =
This->lpLcl->lpDDCB->HELDDExeBuf.DestroyExecuteBuffer; This->lpLcl->lpDDCB->HELDDExeBuf.DestroyExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_DESTROYEXEBUF; 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->cbDDExeBufCallbacks.LockExecuteBuffer =
This->lpLcl->lpDDCB->HALDDExeBuf.LockExecuteBuffer; This->lpLcl->lpDDCB->HALDDExeBuf.LockExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_LOCKEXEBUF; 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->cbDDExeBufCallbacks.LockExecuteBuffer =
This->lpLcl->lpDDCB->HELDDExeBuf.LockExecuteBuffer; This->lpLcl->lpDDCB->HELDDExeBuf.LockExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_LOCKEXEBUF; 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->cbDDExeBufCallbacks.UnlockExecuteBuffer =
This->lpLcl->lpDDCB->HALDDExeBuf.UnlockExecuteBuffer; This->lpLcl->lpDDCB->HALDDExeBuf.UnlockExecuteBuffer;
This->lpLcl->lpDDCB->cbDDExeBufCallbacks.dwFlags |= DDHAL_EXEBUFCB32_UNLOCKEXEBUF; 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->cbDDExeBufCallbacks.UnlockExecuteBuffer =
This->lpLcl->lpDDCB->HELDDExeBuf.UnlockExecuteBuffer; This->lpLcl->lpDDCB->HELDDExeBuf.UnlockExecuteBuffer;