summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
1754672)
svn path=/trunk/; revision=19012
This->owner = (IDirectDrawImpl*)pDD;
This->owner = (IDirectDrawImpl*)pDD;
- /************ fill the discription of our primary surface ***********************/
+ /************ fill the discription of our primary surface ***********************/
+
memset (&This->ddsd, 0, sizeof(DDSURFACEDESC));
This->ddsd.dwSize = sizeof(DDSURFACEDESC);
memset (&This->ddsd, 0, sizeof(DDSURFACEDESC));
This->ddsd.dwSize = sizeof(DDSURFACEDESC);
This->ddsd.lpSurface = pDDSD2->lpSurface;
/************ Test see if we can Create Surface ***********************/
This->ddsd.lpSurface = pDDSD2->lpSurface;
/************ Test see if we can Create Surface ***********************/
if (This->owner->DirectDrawGlobal.lpDDCBtmp->HALDD.dwFlags & DDHAL_CB32_CANCREATESURFACE)
{
/* can the driver create the surface */
if (This->owner->DirectDrawGlobal.lpDDCBtmp->HALDD.dwFlags & DDHAL_CB32_CANCREATESURFACE)
{
/* can the driver create the surface */
}
/************ Create Surface ***********************/
}
/************ Create Surface ***********************/
-
- /* FIXME we are skipping filling in some data, I do not care for now */
/* surface global struct */
memset(&This->Global, 0, sizeof(DDRAWI_DDRAWSURFACE_GBL));
/* surface global struct */
memset(&This->Global, 0, sizeof(DDRAWI_DDRAWSURFACE_GBL));
This->Global.wHeight = This->owner->DirectDrawGlobal.vmiData.dwDisplayHeight;
This->Global.wWidth = This->owner->DirectDrawGlobal.vmiData.dwDisplayWidth;
This->Global.dwLinearSize = This->owner->DirectDrawGlobal.vmiData.lDisplayPitch;
This->Global.wHeight = This->owner->DirectDrawGlobal.vmiData.dwDisplayHeight;
This->Global.wWidth = This->owner->DirectDrawGlobal.vmiData.dwDisplayWidth;
This->Global.dwLinearSize = This->owner->DirectDrawGlobal.vmiData.lDisplayPitch;
+ if(pDDSD2->ddsCaps.dwCaps & DDSCAPS_PRIMARYSURFACE)
+ This->Global.dwGlobalFlags = DDRAWISURFGBL_ISGDISURFACE;
+
/* surface more struct */
memset(&This->More, 0, sizeof(DDRAWI_DDRAWSURFACE_MORE));
This->More.dwSize = sizeof(DDRAWI_DDRAWSURFACE_MORE);
/* surface more struct */
memset(&This->More, 0, sizeof(DDRAWI_DDRAWSURFACE_MORE));
This->More.dwSize = sizeof(DDRAWI_DDRAWSURFACE_MORE);
+ This->More.dmiDDrawReserved7.wWidth = This->Global.wWidth;
+ This->More.dmiDDrawReserved7.wHeight = This->Global.wHeight;
+ This->More.dmiDDrawReserved7.wBPP = This->owner->Bpp;
+ //This->More.dmiDDrawReserved7.wRefreshRate = ;
+ //This->More.dmiDDrawReserved7.wMonitorsAttachedToDesktop = 2;
+ /* ToDo: fill ddsCapsEx */
/* surface local struct */
/* surface local struct */
memset(&This->Local, 0, sizeof(DDRAWI_DDRAWSURFACE_LCL));
This->Local.lpGbl = &This->Global;
This->Local.lpSurfMore = &This->More;
memset(&This->Local, 0, sizeof(DDRAWI_DDRAWSURFACE_LCL));
This->Local.lpGbl = &This->Global;
This->Local.lpSurfMore = &This->More;
-
-
- /* FIXME do a memcopy */
- This->Local.ddsCaps = *(DDSCAPS*)&This->ddsd.ddsCaps;
+ This->Local.ddsCaps.dwCaps = pDDSD2->ddsCaps.dwCaps;
+ This->Local.dwProcessId = GetCurrentProcessId();
/* for the double pointer below */
This->pLocal[0] = &This->Local;
/* for the double pointer below */
This->pLocal[0] = &This->Local;
DDHAL_CREATESURFACEDATA CreateData;
memset(&CreateData, 0, sizeof(DDHAL_CREATESURFACEDATA));
CreateData.lpDD = &This->owner->DirectDrawGlobal;
DDHAL_CREATESURFACEDATA CreateData;
memset(&CreateData, 0, sizeof(DDHAL_CREATESURFACEDATA));
CreateData.lpDD = &This->owner->DirectDrawGlobal;
- CreateData.lpDDSurfaceDesc = (LPDDSURFACEDESC) &This->ddsd;
+ CreateData.lpDDSurfaceDesc = (LPDDSURFACEDESC)&This->ddsd;
CreateData.dwSCnt = 1;
CreateData.lplpSList = This->pLocal;
CreateData.ddRVal = DD_FALSE;
CreateData.dwSCnt = 1;
CreateData.lplpSList = This->pLocal;
CreateData.ddRVal = DD_FALSE;