implement Main_DirectDraw_GetDisplayMode (not to 100% see the comment) implement Main_DirectDraw_GetMonitorFrequency but we do not get the freq at return we need exaime the hal instate. Modified: trunk/reactos/lib/ddraw/main/ddraw.c Modified: trunk/reactos/lib/ddraw/rosdraw.h _____
Modified: trunk/reactos/lib/ddraw/main/ddraw.c --- trunk/reactos/lib/ddraw/main/ddraw.c 2005-10-23 21:10:58 UTC (rev 18724) +++ trunk/reactos/lib/ddraw/main/ddraw.c 2005-10-23 21:17:12 UTC (rev 18725) @@ -245,8 +245,52 @@
}
HRESULT WINAPI Main_DirectDraw_GetDisplayMode(LPDIRECTDRAW7 iface, LPDDSURFACEDESC2 pDDSD) -{ - DX_STUB; +{ + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; + + if (pDDSD == NULL) + { + return DD_FALSE; + } + + pDDSD->dwFlags = DDSD_CAPS | DDSD_HEIGHT | DDSD_PITCH | DDSD_PIXELFORMAT | DDSD_REFRESHRATE | DDSD_WIDTH; + pDDSD->dwHeight = This->DirectDrawGlobal.vmiData.dwDisplayHeight; + pDDSD->dwWidth = This->DirectDrawGlobal.vmiData.dwDisplayWidth; + + /* FIXME Do not use DUMMYUNIONNAME1 some how union lPitch does not see by the compiler + but rest of the union are visable. more header problem ??? + */ + pDDSD->DUMMYUNIONNAME1.lPitch = This->DirectDrawGlobal.vmiData.lDisplayPitch; + + + /* have not check where I should get hold of this info yet + DWORD dwBackBufferCount; + */ + + pDDSD->dwRefreshRate = This->DirectDrawGlobal.dwMonitorFrequency; + + /* have not check where I should get hold of this info yet + DWORD dwAlphaBitDepth; + DWORD dwReserved; + LPVOID lpSurface; + union + { + DDCOLORKEY ddckCKDestOverlay; + DWORD dwEmptyFaceColor; + } + DDCOLORKEY ddckCKDestBlt; + DDCOLORKEY ddckCKSrcOverlay; + DDCOLORKEY ddckCKSrcBlt; + */ + + RtlCopyMemory(&pDDSD->ddpfPixelFormat,&This->DirectDrawGlobal.vmiData.dd pfDisplay,sizeof(DDPIXELFORMAT)); + RtlCopyMemory(&pDDSD->ddsCaps,&This->DirectDrawGlobal.ddCaps,sizeof(DDCO RECAPS)); + + /* have not check where I should get hold of this info yet + DWORD dwTextureStage; + */ + + return DD_OK; }
@@ -263,7 +307,15 @@
HRESULT WINAPI Main_DirectDraw_GetMonitorFrequency(LPDIRECTDRAW7 iface,LPDWORD freq) { - DX_STUB; + IDirectDrawImpl *This = (IDirectDrawImpl *)iface; + + if (freq == NULL) + { + return DD_FALSE; + } + + *freq = This->DirectDrawGlobal.dwMonitorFrequency; + return DD_OK; }
HRESULT WINAPI Main_DirectDraw_GetScanLine(LPDIRECTDRAW7 iface, LPDWORD lpdwScanLine) _____
Modified: trunk/reactos/lib/ddraw/rosdraw.h --- trunk/reactos/lib/ddraw/rosdraw.h 2005-10-23 21:10:58 UTC (rev 18724) +++ trunk/reactos/lib/ddraw/rosdraw.h 2005-10-23 21:17:12 UTC (rev 18725) @@ -3,6 +3,7 @@
/********* Includes *********/
+ #include <windows.h> #include <stdio.h> #include <ddraw.h>