Fixed the "header problems".
Modified: trunk/reactos/lib/ddraw/main/surface_main.c
Modified: trunk/reactos/lib/ddraw/rosdraw.h
_____
Modified: trunk/reactos/lib/ddraw/main/surface_main.c
--- trunk/reactos/lib/ddraw/main/surface_main.c 2005-11-01 09:48:01 UTC
(rev 18922)
+++ trunk/reactos/lib/ddraw/main/surface_main.c 2005-11-01 09:50:29 UTC
(rev 18923)
@@ -18,39 +18,31 @@
if(sizeof(DDSURFACEDESC2) != pDDSD2->dwSize)
return DDERR_UNSUPPORTED;
-
This->owner = (IDirectDrawImpl*)pDD;
- /************ fill the discription of our primary surface
***********************/
- DDSURFACEDESC ddsd;
- memset (&ddsd, 0, sizeof(DDSURFACEDESC));
- ddsd.dwSize = sizeof(DDSURFACEDESC);
+ /************ fill the discription of our primary surface
***********************/
+ memset (&ddsd, 0, sizeof(DDSURFACEDESC));
+ ddsd.dwSize = sizeof(DDSURFACEDESC);
- /* FIXME Fill the rest from ddsd2 to ddsd */
+
RtlCopyMemory(&ddsd.ddckCKDestBlt,&pDDSD2->ddckCKDestBlt,sizeof(ddsd.ddc
kCKDestBlt));
+
RtlCopyMemory(&ddsd.ddckCKDestOverlay,&pDDSD2->ddckCKDestOverlay,sizeof(
ddsd.ddckCKDestOverlay));
+
RtlCopyMemory(&ddsd.ddckCKSrcBlt,&pDDSD2->ddckCKSrcBlt,sizeof(ddsd.ddckC
KSrcBlt));
+
RtlCopyMemory(&ddsd.ddckCKSrcOverlay,&pDDSD2->ddckCKSrcOverlay,sizeof(dd
sd.ddckCKSrcOverlay));
+
RtlCopyMemory(&ddsd.ddpfPixelFormat,&pDDSD2->ddpfPixelFormat,sizeof(ddsd
.ddpfPixelFormat));
+
RtlCopyMemory(&ddsd.ddsCaps,&pDDSD2->ddsCaps,sizeof(ddsd.ddsCaps));
-
RtlCopyMemory(&ddsd.ddckCKDestBlt,&pDDSD2->ddckCKDestBlt,sizeof(ddsd.ddc
kCKDestBlt));
-
RtlCopyMemory(&ddsd.ddckCKDestOverlay,&pDDSD2->ddckCKDestOverlay,sizeof(
ddsd.ddckCKDestOverlay));
-
RtlCopyMemory(&ddsd.ddckCKSrcBlt,&pDDSD2->ddckCKSrcBlt,sizeof(ddsd.ddckC
KSrcBlt));
-
RtlCopyMemory(&ddsd.ddckCKSrcOverlay,&pDDSD2->ddckCKSrcOverlay,sizeof(dd
sd.ddckCKSrcOverlay));
-
RtlCopyMemory(&ddsd.ddpfPixelFormat,&pDDSD2->ddpfPixelFormat,sizeof(ddsd
.ddpfPixelFormat));
-
RtlCopyMemory(&ddsd.ddsCaps,&pDDSD2->ddsCaps,sizeof(ddsd.ddsCaps));
+ ddsd.dwAlphaBitDepth = pDDSD2->dwAlphaBitDepth;
+ ddsd.dwBackBufferCount = pDDSD2->dwBackBufferCount;
+ ddsd.dwFlags = pDDSD2->dwFlags;
+ ddsd.dwHeight = pDDSD2->dwHeight;
+ ddsd.dwLinearSize = pDDSD2->dwLinearSize;
+ ddsd.dwMipMapCount = pDDSD2->dwMipMapCount;
+ ddsd.dwRefreshRate = pDDSD2->dwRefreshRate;
+ ddsd.dwReserved = pDDSD2->dwReserved;
+ ddsd.dwWidth = pDDSD2->dwWidth;
+ ddsd.lPitch = pDDSD2->lPitch;
+ ddsd.lpSurface = pDDSD2->lpSurface;
- ddsd.dwAlphaBitDepth = pDDSD2->dwAlphaBitDepth;
- ddsd.dwBackBufferCount = pDDSD2->dwBackBufferCount;
- ddsd.dwFlags = pDDSD2->dwFlags;
- ddsd.dwHeight = pDDSD2->dwHeight;
- /* FIXME ddsd.dwLinearSize = pDDSD2->dwLinearSize; Problem
with our header for dx */
- ddsd.dwMipMapCount = pDDSD2->dwMipMapCount;
- ddsd.dwRefreshRate = pDDSD2->dwRefreshRate;
- ddsd.dwReserved = pDDSD2->dwReserved;
- ddsd.dwWidth = pDDSD2->dwWidth;
- /* FIXME ddsd.dwZBufferBitDepth where in pDDSD2 */
- /* FIXME ddsd.lPitch = pDDSD2->lPitch; Problem with our
header for dx */
- ddsd.lpSurface = pDDSD2->lpSurface;
-
-
-
-
/************ Test see if we can Create Surface
***********************/
if (This->owner->DirectDrawGlobal.lpDDCBtmp->HALDD.dwFlags &
DDHAL_CB32_CANCREATESURFACE)
{
@@ -67,7 +59,6 @@
return CanCreateData.ddRVal;
}
-
/************ Create Surface ***********************/
/* FIXME we are skipping filling in some data, I do not care for
now */
@@ -109,9 +100,8 @@
CreateData.lpDDSurfaceDesc = (LPDDSURFACEDESC) &ddsd;
CreateData.dwSCnt = 1;
CreateData.lplpSList = pLocal;
- CreateData.ddRVal = DD_FALSE;
+ CreateData.ddRVal = DD_FALSE;
-
/* this is the call we were waiting for */
if(This->owner->DirectDrawGlobal.lpDDCBtmp->HALDD.CreateSurface(&CreateD
ata) == DDHAL_DRIVER_NOTHANDLED)
return DDERR_INVALIDPARAMS;
_____
Modified: trunk/reactos/lib/ddraw/rosdraw.h
--- trunk/reactos/lib/ddraw/rosdraw.h 2005-11-01 09:48:01 UTC (rev
18922)
+++ trunk/reactos/lib/ddraw/rosdraw.h 2005-11-01 09:50:29 UTC (rev
18923)
@@ -45,6 +45,7 @@
DDRAWI_DDRAWSURFACE_MORE More;
DDRAWI_DDRAWSURFACE_LCL Local;
DDRAWI_DDRAWSURFACE_LCL *pLocal[2];
+ DDSURFACEDESC ddsd;
} IDirectDrawSurfaceImpl;