Author: greatlrd
Date: Mon Nov 6 00:19:53 2006
New Revision: 24690
URL:
http://svn.reactos.org/svn/reactos?rev=24690&view=rev
Log:
1. Fixed some vc warings and fault
2. Implement AcquireDDThreadLock, ReleaseDDThreadLock (does not working as it should yet)
3. Start making ddraw thread safe
4. Fixed some mirors bugs
Modified:
trunk/reactos/dll/directx/ddraw/clipper.c
trunk/reactos/dll/directx/ddraw/color.c
trunk/reactos/dll/directx/ddraw/ddraw.def
trunk/reactos/dll/directx/ddraw/gamma.c
trunk/reactos/dll/directx/ddraw/hal/surface_hal.c
trunk/reactos/dll/directx/ddraw/kernel.c
trunk/reactos/dll/directx/ddraw/main.c
trunk/reactos/dll/directx/ddraw/main/ddraw_main.c
trunk/reactos/dll/directx/ddraw/main/surface_main.c
trunk/reactos/dll/directx/ddraw/palette.c
trunk/reactos/dll/directx/ddraw/rosdraw.h
trunk/reactos/dll/directx/ddraw/soft/surface_callbacks_hel.c
trunk/reactos/dll/directx/ddraw/soft/surface_hel.c
trunk/reactos/dll/directx/ddraw/startup.c
trunk/reactos/dll/directx/ddraw/thunks/ddraw_thunk.c
trunk/reactos/dll/directx/ddraw/thunks/surface_thunk.c
Modified: trunk/reactos/dll/directx/ddraw/clipper.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/clipper.…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/clipper.c (original)
+++ trunk/reactos/dll/directx/ddraw/clipper.c Mon Nov 6 00:19:53 2006
@@ -13,11 +13,12 @@
ULONG WINAPI
DirectDrawClipper_Release(LPDIRECTDRAWCLIPPER iface)
-{
- DX_WINDBG_trace();
+{
IDirectDrawClipperImpl* This = (IDirectDrawClipperImpl*)iface;
ULONG ref=0;
+
+ DX_WINDBG_trace();
if (iface!=NULL)
{
@@ -40,12 +41,11 @@
ULONG WINAPI
DirectDrawClipper_AddRef (LPDIRECTDRAWCLIPPER iface)
-{
+{
+ IDirectDrawClipperImpl * This = (IDirectDrawClipperImpl*)iface;
+ ULONG ref=0;
+
DX_WINDBG_trace();
-
- IDirectDrawClipperImpl * This = (IDirectDrawClipperImpl*)iface;
-
- ULONG ref=0;
if (iface!=NULL)
{
Modified: trunk/reactos/dll/directx/ddraw/color.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/color.c?…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/color.c (original)
+++ trunk/reactos/dll/directx/ddraw/color.c Mon Nov 6 00:19:53 2006
@@ -12,12 +12,11 @@
ULONG WINAPI
DirectDrawColorControl_AddRef( LPDIRECTDRAWCOLORCONTROL iface)
-{
+{
+ IDirectDrawColorImpl * This = (IDirectDrawColorImpl*)iface;
+ ULONG ref=0;
+
DX_WINDBG_trace();
-
- IDirectDrawColorImpl * This = (IDirectDrawColorImpl*)iface;
-
- ULONG ref=0;
if (iface!=NULL)
{
@@ -28,11 +27,11 @@
ULONG WINAPI
DirectDrawColorControl_Release( LPDIRECTDRAWCOLORCONTROL iface)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawColorImpl* This = (IDirectDrawColorImpl*)iface;
ULONG ref=0;
+
+ DX_WINDBG_trace();
if (iface!=NULL)
{
Modified: trunk/reactos/dll/directx/ddraw/ddraw.def
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/ddraw.de…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/ddraw.def (original)
+++ trunk/reactos/dll/directx/ddraw/ddraw.def Mon Nov 6 00:19:53 2006
@@ -1,7 +1,9 @@
EXPORTS
-;AcquireDDThreadLock
+AcquireDDThreadLock@0
+D3DParseUnknownCommand@8
+ReleaseDDThreadLock@0
+
;CompleteCreateSysmemSurface
-D3DParseUnknownCommand@8
;DDGetAttachedSurfaceLcl
;DDInternalLock
;DDInternalUnlock
@@ -19,4 +21,4 @@
;GetOLEThunkData
;GetSurfaceFromDC
;RegisterSpecialCase
-;ReleaseDDThreadLock
+
Modified: trunk/reactos/dll/directx/ddraw/gamma.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/gamma.c?…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/gamma.c (original)
+++ trunk/reactos/dll/directx/ddraw/gamma.c Mon Nov 6 00:19:53 2006
@@ -12,12 +12,12 @@
ULONG WINAPI
DirectDrawGammaControl_AddRef( LPDIRECTDRAWGAMMACONTROL iface)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawGammaImpl * This = (IDirectDrawGammaImpl*)iface;
ULONG ref=0;
+
+ DX_WINDBG_trace();
if (iface!=NULL)
{
@@ -28,11 +28,10 @@
ULONG WINAPI
DirectDrawGammaControl_Release( LPDIRECTDRAWGAMMACONTROL iface)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawGammaImpl* This = (IDirectDrawGammaImpl*)iface;
ULONG ref=0;
+ DX_WINDBG_trace();
if (iface!=NULL)
{
Modified: trunk/reactos/dll/directx/ddraw/hal/surface_hal.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/hal/surf…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/hal/surface_hal.c (original)
+++ trunk/reactos/dll/directx/ddraw/hal/surface_hal.c Mon Nov 6 00:19:53 2006
@@ -8,7 +8,7 @@
*
*/
-#include "rosdraw.h"
+#include "../rosdraw.h"
Modified: trunk/reactos/dll/directx/ddraw/kernel.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/kernel.c…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/kernel.c (original)
+++ trunk/reactos/dll/directx/ddraw/kernel.c Mon Nov 6 00:19:53 2006
@@ -15,12 +15,13 @@
ULONG WINAPI
DirectDrawKernel_AddRef ( LPDIRECTDRAWKERNEL iface)
-{
- DX_WINDBG_trace();
+{
IDirectDrawKernelImpl * This = (IDirectDrawKernelImpl*)iface;
ULONG ref=0;
+
+ DX_WINDBG_trace();
if (iface!=NULL)
{
@@ -31,11 +32,11 @@
ULONG WINAPI
DirectDrawKernel_Release ( LPDIRECTDRAWKERNEL iface)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawKernelImpl* This = (IDirectDrawKernelImpl*)iface;
ULONG ref=0;
+
+ DX_WINDBG_trace();
if (iface!=NULL)
{
@@ -83,12 +84,11 @@
ULONG WINAPI
DDSurfaceKernel_AddRef ( LPDIRECTDRAWSURFACEKERNEL iface)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawSurfaceKernelImpl * This = (IDirectDrawSurfaceKernelImpl*)iface;
ULONG ref=0;
+ DX_WINDBG_trace();
if (iface!=NULL)
{
@@ -99,11 +99,11 @@
ULONG WINAPI
DDSurfaceKernel_Release ( LPDIRECTDRAWSURFACEKERNEL iface)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawSurfaceKernelImpl* This = (IDirectDrawSurfaceKernelImpl*)iface;
ULONG ref=0;
+
+ DX_WINDBG_trace();
if (iface!=NULL)
{
Modified: trunk/reactos/dll/directx/ddraw/main.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/main.c?r…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/main.c (original)
+++ trunk/reactos/dll/directx/ddraw/main.c Mon Nov 6 00:19:53 2006
@@ -13,6 +13,7 @@
#include "rosdraw.h"
#include "d3dhal.h"
+CRITICAL_SECTION ddcs;
// This function is exported by the dll
HRESULT WINAPI DirectDrawCreateClipper (DWORD dwFlags,
@@ -34,6 +35,13 @@
LPDIRECTDRAW* lplpDD,
LPUNKNOWN pUnkOuter)
{
+ DX_WINDBG_trace();
+
+ if (IsBadWritePtr( lplpDD, sizeof( LPVOID )) )
+ {
+ return DDERR_INVALIDPARAMS;
+ }
+
/* check see if pUnkOuter is null or not */
if (pUnkOuter)
{
@@ -55,7 +63,14 @@
LPVOID* lplpDD,
REFIID id,
LPUNKNOWN pUnkOuter)
-{
+{
+ DX_WINDBG_trace();
+
+ if (IsBadWritePtr( lplpDD, sizeof( LPVOID )) )
+ {
+ return DDERR_INVALIDPARAMS;
+ }
+
/* check see if pUnkOuter is null or not */
if (pUnkOuter)
{
@@ -202,5 +217,44 @@
return retCode;
}
-
-
+
+VOID
+WINAPI
+AcquireDDThreadLock()
+{
+ EnterCriticalSection(&ddcs);
+}
+
+VOID
+WINAPI
+ReleaseDDThreadLock()
+{
+ LeaveCriticalSection(&ddcs);
+}
+
+BOOL APIENTRY
+DllMain( HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved )
+{
+ BOOL retStatus;
+ switch(ul_reason_for_call)
+ {
+ case DLL_PROCESS_DETACH:
+ DeleteCriticalSection( &ddcs );
+ retStatus = TRUE;
+ break;
+
+ case DLL_PROCESS_ATTACH:
+ DisableThreadLibraryCalls( hModule );
+ InitializeCriticalSection( &ddcs );
+ EnterCriticalSection( &ddcs );
+ LeaveCriticalSection( &ddcs );
+ retStatus = FALSE;
+ break;
+
+ default:
+ retStatus = TRUE;
+ break;
+ }
+ return retStatus;
+
+}
Modified: trunk/reactos/dll/directx/ddraw/main/ddraw_main.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/main/ddr…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/main/ddraw_main.c (original)
+++ trunk/reactos/dll/directx/ddraw/main/ddraw_main.c Mon Nov 6 00:19:53 2006
@@ -13,17 +13,17 @@
* Status ok
*/
-#include "rosdraw.h"
+#include "../rosdraw.h"
HRESULT
WINAPI
Main_DirectDraw_QueryInterface (LPDIRECTDRAW7 iface,
REFIID id,
LPVOID *obj)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
+
+ DX_WINDBG_trace();
if (IsEqualGUID(&IID_IDirectDraw7, id))
{
@@ -57,10 +57,10 @@
ULONG
WINAPI
Main_DirectDraw_AddRef (LPDIRECTDRAW7 iface)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
+
+ DX_WINDBG_trace();
if (iface!=NULL)
{
@@ -82,10 +82,10 @@
ULONG
WINAPI
Main_DirectDraw_Release (LPDIRECTDRAW7 iface)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
+
+ DX_WINDBG_trace();
if (iface!=NULL)
{
@@ -139,12 +139,14 @@
LPDIRECTDRAWCLIPPER *ppClipper,
IUnknown *pUnkOuter)
{
+ IDirectDrawClipperImpl* That;
+
DX_WINDBG_trace();
if (pUnkOuter!=NULL)
return CLASS_E_NOAGGREGATION;
- IDirectDrawClipperImpl* That;
+
That = (IDirectDrawClipperImpl*)HeapAlloc(GetProcessHeap(), 0,
sizeof(IDirectDrawClipperImpl));
if (That == NULL)
@@ -278,13 +280,15 @@
HRESULT WINAPI Main_DirectDraw_CreateSurface (LPDIRECTDRAW7 iface, LPDDSURFACEDESC2
pDDSD,
LPDIRECTDRAWSURFACE7 *ppSurf, IUnknown
*pUnkOuter)
{
- DX_WINDBG_trace();
+
DxSurf *surf;
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
IDirectDrawSurfaceImpl* That;
DEVMODE DevMode;
LONG extra_surfaces = 0;
+
+ DX_WINDBG_trace();
if (pUnkOuter!=NULL)
{
@@ -548,7 +552,10 @@
}
else if (pDDSD->ddsCaps.dwCaps & DDSCAPS_OVERLAY)
{
- return internal_CreateNewSurface( This, That);
+ DDHAL_CANCREATESURFACEDATA mDdCanCreateSurface;
+ DDHAL_CREATESURFACEDATA mDdCreateSurface;
+
+ return internal_CreateNewSurface( This, That);
memset(&That->Surf->mddsdOverlay, 0, sizeof(DDSURFACEDESC));
memcpy(&That->Surf->mddsdOverlay, pDDSD, sizeof(DDSURFACEDESC));
@@ -564,7 +571,7 @@
That->Surf->mddsdOverlay.ddpfPixelFormat.dwFlags =
pDDSD->ddpfPixelFormat.dwFlags;
That->Surf->mddsdOverlay.ddpfPixelFormat.dwRGBBitCount =
pDDSD->ddpfPixelFormat.dwRGBBitCount;
- DDHAL_CANCREATESURFACEDATA mDdCanCreateSurface;
+
mDdCanCreateSurface.lpDD = &This->mDDrawGlobal;
mDdCanCreateSurface.CanCreateSurface =
This->mCallbacks.HALDD.CanCreateSurface;
mDdCanCreateSurface.bIsDifferentPixelFormat = TRUE;
//isDifferentPixelFormat;
@@ -608,7 +615,7 @@
That->Surf->mpOverlayLocals[0] =
&That->Surf->mOverlayLocal[0];
- DDHAL_CREATESURFACEDATA mDdCreateSurface;
+
mDdCreateSurface.lpDD = &This->mDDrawGlobal;
mDdCreateSurface.CreateSurface = This->mCallbacks.HALDD.CreateSurface;
mDdCreateSurface.lpDDSurfaceDesc =
&That->Surf->mddsdOverlay;//pDDSD;
@@ -755,148 +762,148 @@
DX_STUB_DD_OK;
- IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
- DDSURFACEDESC2 desc_callback;
- DEVMODE DevMode;
- int iMode=0;
-
- RtlZeroMemory(&desc_callback, sizeof(DDSURFACEDESC2));
-
- desc_callback.dwSize = sizeof(DDSURFACEDESC2);
-
- desc_callback.dwFlags = DDSD_HEIGHT|DDSD_WIDTH|DDSD_PIXELFORMAT|DDSD_PITCH;
-
- if (dwFlags & DDEDM_REFRESHRATES)
- {
- desc_callback.dwFlags |= DDSD_REFRESHRATE;
- desc_callback.dwRefreshRate = This->mDDrawGlobal.dwMonitorFrequency;
- }
-
-
- /* FIXME check if the mode are suppretd before sending it back */
-
- memset(&DevMode,0,sizeof(DEVMODE));
- DevMode.dmSize = (WORD)sizeof(DEVMODE);
- DevMode.dmDriverExtra = 0;
-
- while (EnumDisplaySettingsEx(NULL, iMode, &DevMode, 0))
- {
-
- if (pDDSD)
- {
- if ((pDDSD->dwFlags & DDSD_WIDTH) && (pDDSD->dwWidth !=
DevMode.dmPelsWidth))
- continue;
- if ((pDDSD->dwFlags & DDSD_HEIGHT) && (pDDSD->dwHeight !=
DevMode.dmPelsHeight))
- continue;
- if ((pDDSD->dwFlags & DDSD_PIXELFORMAT) &&
(pDDSD->ddpfPixelFormat.dwFlags & DDPF_RGB) &&
- (pDDSD->ddpfPixelFormat.dwRGBBitCount != DevMode.dmBitsPerPel))
- continue;
- }
-
- desc_callback.dwHeight = DevMode.dmPelsHeight;
- desc_callback.dwWidth = DevMode.dmPelsWidth;
-
- if (DevMode.dmFields & DM_DISPLAYFREQUENCY)
- {
- desc_callback.dwRefreshRate = DevMode.dmDisplayFrequency;
- }
-
- if (desc_callback.dwRefreshRate == 0)
- {
- DX_STUB_str("dwRefreshRate = 0, we hard code it to value 60");
- desc_callback.dwRefreshRate = 60; /* Maybe the valye should be biger */
- }
-
- /* above same as wine */
- if ((pDDSD->dwFlags & DDSD_PIXELFORMAT) &&
(pDDSD->ddpfPixelFormat.dwFlags & DDPF_RGB) )
- {
- switch(DevMode.dmBitsPerPel)
- {
- case 8:
- desc_callback.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
- desc_callback.ddpfPixelFormat.dwFlags = DDPF_RGB;
- desc_callback.ddpfPixelFormat.dwFourCC = 0;
- desc_callback.ddpfPixelFormat.dwRGBBitCount=8;
- /* FIXME right value */
- desc_callback.ddpfPixelFormat.dwRBitMask = 0xFF0000; /* red bitmask */
- desc_callback.ddpfPixelFormat.dwGBitMask = 0; /* Green bitmask */
- desc_callback.ddpfPixelFormat.dwBBitMask = 0; /* Blue bitmask */
- break;
-
- case 15:
- desc_callback.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
- desc_callback.ddpfPixelFormat.dwFlags = DDPF_RGB;
- desc_callback.ddpfPixelFormat.dwFourCC = 0;
- desc_callback.ddpfPixelFormat.dwRGBBitCount=15;
- /* FIXME right value */
- desc_callback.ddpfPixelFormat.dwRBitMask = 0x7C00; /* red bitmask */
- desc_callback.ddpfPixelFormat.dwGBitMask = 0x3E0; /* Green bitmask */
- desc_callback.ddpfPixelFormat.dwBBitMask = 0x1F; /* Blue bitmask */
- break;
-
- case 16:
- desc_callback.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
- desc_callback.ddpfPixelFormat.dwFlags = DDPF_RGB;
- desc_callback.ddpfPixelFormat.dwFourCC = 0;
- desc_callback.ddpfPixelFormat.dwRGBBitCount=16;
- /* FIXME right value */
- desc_callback.ddpfPixelFormat.dwRBitMask = 0xF800; /* red bitmask */
- desc_callback.ddpfPixelFormat.dwGBitMask = 0x7E0; /* Green bitmask */
- desc_callback.ddpfPixelFormat.dwBBitMask = 0x1F; /* Blue bitmask */
- break;
-
- case 24:
- desc_callback.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
- desc_callback.ddpfPixelFormat.dwFlags = DDPF_RGB;
- desc_callback.ddpfPixelFormat.dwFourCC = 0;
- desc_callback.ddpfPixelFormat.dwRGBBitCount=24;
- /* FIXME right value */
- desc_callback.ddpfPixelFormat.dwRBitMask = 0xFF0000; /* red bitmask */
- desc_callback.ddpfPixelFormat.dwGBitMask = 0x00FF00; /* Green bitmask */
- desc_callback.ddpfPixelFormat.dwBBitMask = 0x0000FF; /* Blue bitmask */
- break;
-
- case 32:
- desc_callback.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
- desc_callback.ddpfPixelFormat.dwFlags = DDPF_RGB;
- desc_callback.ddpfPixelFormat.dwFourCC = 0;
- desc_callback.ddpfPixelFormat.dwRGBBitCount=8;
- /* FIXME right value */
- desc_callback.ddpfPixelFormat.dwRBitMask = 0xFF0000; /* red bitmask */
- desc_callback.ddpfPixelFormat.dwGBitMask = 0x00FF00; /* Green bitmask */
- desc_callback.ddpfPixelFormat.dwBBitMask = 0x0000FF; /* Blue bitmask */
- break;
-
- default:
- break;
- }
- desc_callback.ddsCaps.dwCaps = 0;
- if (desc_callback.ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8)
- {
- /* FIXME srt DDCS Caps flag */
- desc_callback.ddsCaps.dwCaps |= DDSCAPS_PALETTE;
- }
- }
-
- if (DevMode.dmBitsPerPel==15)
- {
- desc_callback.lPitch = DevMode.dmPelsWidth + (8 - ( DevMode.dmPelsWidth % 8)) % 8;
- }
- else
- {
- desc_callback.lPitch = DevMode.dmPelsWidth * (DevMode.dmBitsPerPel / 8);
- desc_callback.lPitch = desc_callback.lPitch + (8 - (desc_callback.lPitch % 8)) %
8;
- }
-
- if (callback(&desc_callback, context) == DDENUMRET_CANCEL)
- {
- return DD_OK;
- }
-
- iMode++;
- }
-
- return DD_OK;
+ // IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
+ // DDSURFACEDESC2 desc_callback;
+ // DEVMODE DevMode;
+ // int iMode=0;
+ //
+ //RtlZeroMemory(&desc_callback, sizeof(DDSURFACEDESC2));
+ //
+ // desc_callback.dwSize = sizeof(DDSURFACEDESC2);
+
+ // desc_callback.dwFlags = DDSD_HEIGHT|DDSD_WIDTH|DDSD_PIXELFORMAT|DDSD_PITCH;
+
+ // if (dwFlags & DDEDM_REFRESHRATES)
+ // {
+ // desc_callback.dwFlags |= DDSD_REFRESHRATE;
+ // desc_callback.dwRefreshRate = This->mDDrawGlobal.dwMonitorFrequency;
+ // }
+
+ //
+ // /* FIXME check if the mode are suppretd before sending it back */
+
+ //memset(&DevMode,0,sizeof(DEVMODE));
+ //DevMode.dmSize = (WORD)sizeof(DEVMODE);
+ //DevMode.dmDriverExtra = 0;
+
+ // while (EnumDisplaySettingsEx(NULL, iMode, &DevMode, 0))
+ // {
+ //
+ // if (pDDSD)
+ // {
+ // if ((pDDSD->dwFlags & DDSD_WIDTH) && (pDDSD->dwWidth !=
DevMode.dmPelsWidth))
+ // continue;
+ // if ((pDDSD->dwFlags & DDSD_HEIGHT) && (pDDSD->dwHeight !=
DevMode.dmPelsHeight))
+ // continue;
+ // if ((pDDSD->dwFlags & DDSD_PIXELFORMAT) &&
(pDDSD->ddpfPixelFormat.dwFlags & DDPF_RGB) &&
+ // (pDDSD->ddpfPixelFormat.dwRGBBitCount != DevMode.dmBitsPerPel))
+ // continue;
+ // }
+ //
+ // desc_callback.dwHeight = DevMode.dmPelsHeight;
+ // desc_callback.dwWidth = DevMode.dmPelsWidth;
+ //
+ // if (DevMode.dmFields & DM_DISPLAYFREQUENCY)
+ // {
+ // desc_callback.dwRefreshRate = DevMode.dmDisplayFrequency;
+ // }
+
+ // if (desc_callback.dwRefreshRate == 0)
+ // {
+ // DX_STUB_str("dwRefreshRate = 0, we hard code it to value 60");
+ // desc_callback.dwRefreshRate = 60; /* Maybe the valye should be biger */
+ // }
+
+ // /* above same as wine */
+ // if ((pDDSD->dwFlags & DDSD_PIXELFORMAT) &&
(pDDSD->ddpfPixelFormat.dwFlags & DDPF_RGB) )
+ // {
+ // switch(DevMode.dmBitsPerPel)
+ // {
+ // case 8:
+ // desc_callback.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
+ // desc_callback.ddpfPixelFormat.dwFlags = DDPF_RGB;
+ // desc_callback.ddpfPixelFormat.dwFourCC = 0;
+ // desc_callback.ddpfPixelFormat.dwRGBBitCount=8;
+ // /* FIXME right value */
+ // desc_callback.ddpfPixelFormat.dwRBitMask = 0xFF0000; /* red bitmask */
+ // desc_callback.ddpfPixelFormat.dwGBitMask = 0; /* Green bitmask */
+ // desc_callback.ddpfPixelFormat.dwBBitMask = 0; /* Blue bitmask */
+ // break;
+
+ // case 15:
+ // desc_callback.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
+ // desc_callback.ddpfPixelFormat.dwFlags = DDPF_RGB;
+ // desc_callback.ddpfPixelFormat.dwFourCC = 0;
+ // desc_callback.ddpfPixelFormat.dwRGBBitCount=15;
+ // /* FIXME right value */
+ // desc_callback.ddpfPixelFormat.dwRBitMask = 0x7C00; /* red bitmask */
+ // desc_callback.ddpfPixelFormat.dwGBitMask = 0x3E0; /* Green bitmask */
+ // desc_callback.ddpfPixelFormat.dwBBitMask = 0x1F; /* Blue bitmask */
+ // break;
+
+ // case 16:
+ // desc_callback.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
+ // desc_callback.ddpfPixelFormat.dwFlags = DDPF_RGB;
+ // desc_callback.ddpfPixelFormat.dwFourCC = 0;
+ // desc_callback.ddpfPixelFormat.dwRGBBitCount=16;
+ // /* FIXME right value */
+ // desc_callback.ddpfPixelFormat.dwRBitMask = 0xF800; /* red bitmask */
+ // desc_callback.ddpfPixelFormat.dwGBitMask = 0x7E0; /* Green bitmask */
+ // desc_callback.ddpfPixelFormat.dwBBitMask = 0x1F; /* Blue bitmask */
+ // break;
+
+ // case 24:
+ // desc_callback.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
+ // desc_callback.ddpfPixelFormat.dwFlags = DDPF_RGB;
+ // desc_callback.ddpfPixelFormat.dwFourCC = 0;
+ // desc_callback.ddpfPixelFormat.dwRGBBitCount=24;
+ // /* FIXME right value */
+ // desc_callback.ddpfPixelFormat.dwRBitMask = 0xFF0000; /* red bitmask */
+ // desc_callback.ddpfPixelFormat.dwGBitMask = 0x00FF00; /* Green bitmask */
+ // desc_callback.ddpfPixelFormat.dwBBitMask = 0x0000FF; /* Blue bitmask */
+ // break;
+
+ // case 32:
+ // desc_callback.ddpfPixelFormat.dwSize = sizeof(DDPIXELFORMAT);
+ // desc_callback.ddpfPixelFormat.dwFlags = DDPF_RGB;
+ // desc_callback.ddpfPixelFormat.dwFourCC = 0;
+ // desc_callback.ddpfPixelFormat.dwRGBBitCount=8;
+ // /* FIXME right value */
+ // desc_callback.ddpfPixelFormat.dwRBitMask = 0xFF0000; /* red bitmask */
+ // desc_callback.ddpfPixelFormat.dwGBitMask = 0x00FF00; /* Green bitmask */
+ // desc_callback.ddpfPixelFormat.dwBBitMask = 0x0000FF; /* Blue bitmask */
+ // break;
+
+ // default:
+ // break;
+ // }
+ // desc_callback.ddsCaps.dwCaps = 0;
+ // if (desc_callback.ddpfPixelFormat.dwFlags & DDPF_PALETTEINDEXED8)
+ // {
+ // /* FIXME srt DDCS Caps flag */
+ // desc_callback.ddsCaps.dwCaps |= DDSCAPS_PALETTE;
+ // }
+ // }
+ //
+ // if (DevMode.dmBitsPerPel==15)
+ // {
+ // desc_callback.lPitch = DevMode.dmPelsWidth + (8 - ( DevMode.dmPelsWidth % 8)) %
8;
+ // }
+ // else
+ // {
+ // desc_callback.lPitch = DevMode.dmPelsWidth * (DevMode.dmBitsPerPel / 8);
+ // desc_callback.lPitch = desc_callback.lPitch + (8 - (desc_callback.lPitch % 8)) %
8;
+ // }
+ //
+ // if (callback(&desc_callback, context) == DDENUMRET_CANCEL)
+ // {
+ // return DD_OK;
+ // }
+ //
+ // iMode++;
+ // }
+
+ // return DD_OK;
}
/*
@@ -945,11 +952,13 @@
Main_DirectDraw_GetCaps(LPDIRECTDRAW7 iface, LPDDCAPS pDriverCaps,
LPDDCAPS pHELCaps)
{
- DX_WINDBG_trace();
+
DDSCAPS2 ddscaps = {0};
DWORD status = DD_FALSE;
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
+
+ DX_WINDBG_trace();
if (pDriverCaps != NULL)
{
@@ -984,10 +993,10 @@
* Status ok
*/
HRESULT WINAPI Main_DirectDraw_GetDisplayMode(LPDIRECTDRAW7 iface, LPDDSURFACEDESC2
pDDSD)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
+
+ DX_WINDBG_trace();
if (pDDSD == NULL)
{
@@ -1048,10 +1057,10 @@
*/
HRESULT WINAPI
Main_DirectDraw_GetMonitorFrequency(LPDIRECTDRAW7 iface,LPDWORD freq)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawImpl *This = (IDirectDrawImpl *)iface;
+
+ DX_WINDBG_trace();
if (freq == NULL)
{
@@ -1068,11 +1077,10 @@
*/
HRESULT WINAPI
Main_DirectDraw_GetScanLine(LPDIRECTDRAW7 iface, LPDWORD lpdwScanLine)
-{
+{
+ IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
DX_WINDBG_trace();
-
- IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
*lpdwScanLine = 0;
@@ -1111,10 +1119,10 @@
HRESULT
WINAPI
Main_DirectDraw_Initialize (LPDIRECTDRAW7 iface, LPGUID lpGUID)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
+
+ DX_WINDBG_trace();
if (iface==NULL)
{
@@ -1158,10 +1166,12 @@
// for now we always asume it is the active dirver that should be use.
// - allow more Flags
- DX_WINDBG_trace();
+
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
DDHAL_SETEXCLUSIVEMODEDATA SetExclusiveMode;
+
+ DX_WINDBG_trace();
// check the parameters
if ((This->cooperative_level == cooplevel) &&
((HWND)This->mDDrawGlobal.lpExclusiveOwner->hWnd == hwnd))
@@ -1217,7 +1227,7 @@
Main_DirectDraw_SetDisplayMode (LPDIRECTDRAW7 iface, DWORD dwWidth, DWORD dwHeight,
DWORD dwBPP, DWORD
dwRefreshRate, DWORD dwFlags)
{
- DX_WINDBG_trace();
+
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
BOOL dummy = TRUE;
@@ -1226,6 +1236,8 @@
int Width=0;
int Height=0;
int BPP=0;
+
+ DX_WINDBG_trace();
/* FIXME check the refresrate if it same if it not same do the mode switch */
if ((This->mDDrawGlobal.vmiData.dwDisplayHeight == dwHeight) &&
@@ -1289,9 +1301,9 @@
Main_DirectDraw_WaitForVerticalBlank(LPDIRECTDRAW7 iface, DWORD dwFlags,
HANDLE h)
{
- DX_WINDBG_trace();
-
+
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
+ DX_WINDBG_trace();
if (This->mDdWaitForVerticalBlank.WaitForVerticalBlank == NULL)
{
@@ -1317,11 +1329,12 @@
HRESULT WINAPI
Main_DirectDraw_GetAvailableVidMem(LPDIRECTDRAW7 iface, LPDDSCAPS2 ddscaps,
LPDWORD total, LPDWORD free)
-{
- DX_WINDBG_trace();
+{
DDHAL_GETAVAILDRIVERMEMORYDATA mem;
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
+
+ DX_WINDBG_trace();
/* Only Hal version exists acodring msdn */
if (!(This->mDDrawGlobal.lpDDCBtmp->HALDDMiscellaneous.dwFlags &
DDHAL_MISCCB32_GETAVAILDRIVERMEMORY))
Modified: trunk/reactos/dll/directx/ddraw/main/surface_main.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/main/sur…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/main/surface_main.c (original)
+++ trunk/reactos/dll/directx/ddraw/main/surface_main.c Mon Nov 6 00:19:53 2006
@@ -8,7 +8,7 @@
*
*/
-#include "rosdraw.h"
+#include "../rosdraw.h"
/* FIXME adding hal and hel stub
@@ -60,10 +60,10 @@
HRESULT WINAPI Main_DDrawSurface_Blt(LPDIRECTDRAWSURFACE7 iface, LPRECT rdst,
LPDIRECTDRAWSURFACE7 src, LPRECT rsrc, DWORD dwFlags, LPDDBLTFX lpbltfx)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawSurfaceImpl* This = (IDirectDrawSurfaceImpl*)iface;
+
+ DX_WINDBG_trace();
if (This->Owner->mCallbacks.HALDDSurface.dwFlags & DDHAL_SURFCB32_BLT)
@@ -77,11 +77,11 @@
HRESULT WINAPI Main_DDrawSurface_Lock (LPDIRECTDRAWSURFACE7 iface, LPRECT prect,
LPDDSURFACEDESC2 pDDSD, DWORD flags, HANDLE event)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawSurfaceImpl* This = (IDirectDrawSurfaceImpl*)iface;
+ DX_WINDBG_trace();
+
if (event != NULL)
{
return DDERR_INVALIDPARAMS;
@@ -96,10 +96,10 @@
}
HRESULT WINAPI Main_DDrawSurface_Unlock (LPDIRECTDRAWSURFACE7 iface, LPRECT pRect)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawSurfaceImpl* This = (IDirectDrawSurfaceImpl*)iface;
+
+ DX_WINDBG_trace();
if (This->Owner->mCallbacks.HALDDSurface.dwFlags & DDHAL_SURFCB32_LOCK)
{
@@ -113,11 +113,11 @@
Main_DDrawSurface_AddAttachedSurface(LPDIRECTDRAWSURFACE7 iface,
LPDIRECTDRAWSURFACE7 pAttach)
{
- DWORD ret;
- DX_WINDBG_trace();
-
+ DWORD ret;
IDirectDrawSurfaceImpl* This = (IDirectDrawSurfaceImpl*)iface;
IDirectDrawSurfaceImpl* That = (IDirectDrawSurfaceImpl*)pAttach;
+
+ DX_WINDBG_trace();
if (pAttach==NULL)
{
@@ -273,10 +273,10 @@
HRESULT WINAPI
Main_DDrawSurface_Flip(LPDIRECTDRAWSURFACE7 iface,
LPDIRECTDRAWSURFACE7 override, DWORD dwFlags)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawSurfaceImpl* This = (IDirectDrawSurfaceImpl*)iface;
+
+ DX_WINDBG_trace();
if (This->Owner->mCallbacks.HALDDSurface.dwFlags & DDHAL_SURFCB32_FLIP)
{
@@ -362,11 +362,11 @@
HRESULT WINAPI
Main_DDrawSurface_GetBltStatus(LPDIRECTDRAWSURFACE7 iface, DWORD dwFlags)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawSurfaceImpl* This = (IDirectDrawSurfaceImpl*)iface;
+ DX_WINDBG_trace();
+
if (This->Owner->mCallbacks.HALDDSurface.dwFlags & DDHAL_SURFCB32_FLIP)
{
return Hal_DDrawSurface_GetBltStatus( iface, dwFlags);
@@ -377,10 +377,10 @@
HRESULT WINAPI
Main_DDrawSurface_GetCaps(LPDIRECTDRAWSURFACE7 iface, LPDDSCAPS2 pCaps)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawSurfaceImpl* This;
+
+ DX_WINDBG_trace();
if (iface == NULL)
{
@@ -421,9 +421,9 @@
HRESULT WINAPI
Main_DDrawSurface_GetDC(LPDIRECTDRAWSURFACE7 iface, HDC *phDC)
{
- DX_WINDBG_trace();
-
IDirectDrawSurfaceImpl* This;
+
+ DX_WINDBG_trace();
if (iface == NULL)
{
@@ -527,10 +527,9 @@
Main_DDrawSurface_GetSurfaceDesc(LPDIRECTDRAWSURFACE7 iface,
LPDDSURFACEDESC2 pDDSD)
{
- DWORD dwSize;
- DX_WINDBG_trace();
-
+ DWORD dwSize;
IDirectDrawSurfaceImpl *This = (IDirectDrawSurfaceImpl *)iface;
+ DX_WINDBG_trace();
dwSize = pDDSD->dwSize;
@@ -584,10 +583,9 @@
HRESULT WINAPI
Main_DDrawSurface_ReleaseDC(LPDIRECTDRAWSURFACE7 iface, HDC hDC)
-{
- DX_WINDBG_trace();
-
- IDirectDrawSurfaceImpl* This;
+{
+ IDirectDrawSurfaceImpl* This;
+ DX_WINDBG_trace();
if (iface == NULL)
{
@@ -625,10 +623,10 @@
HRESULT WINAPI
Main_DDrawSurface_SetColorKey (LPDIRECTDRAWSURFACE7 iface,
DWORD dwFlags, LPDDCOLORKEY pCKey)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawSurfaceImpl* This = (IDirectDrawSurfaceImpl*)iface;
+
+ DX_WINDBG_trace();
if (This->Owner->mCallbacks.HALDDSurface.dwFlags & DDHAL_SURFCB32_SETCOLORKEY)
{
@@ -693,10 +691,10 @@
HRESULT WINAPI
Main_DDrawSurface_UpdateOverlayDisplay (LPDIRECTDRAWSURFACE7 iface,
DWORD dwFlags)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawSurfaceImpl* This = (IDirectDrawSurfaceImpl*)iface;
+
+ DX_WINDBG_trace();
if (This->Owner->mCallbacks.HALDDSurface.dwFlags &
DDHAL_SURFCB32_UPDATEOVERLAY)
{
Modified: trunk/reactos/dll/directx/ddraw/palette.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/palette.…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/palette.c (original)
+++ trunk/reactos/dll/directx/ddraw/palette.c Mon Nov 6 00:19:53 2006
@@ -12,11 +12,11 @@
ULONG WINAPI
DirectDrawPalette_Release( LPDIRECTDRAWPALETTE iface)
-{
- DX_WINDBG_trace();
-
+{
IDirectDrawPaletteImpl* This = (IDirectDrawPaletteImpl*)iface;
ULONG ref=0;
+
+ DX_WINDBG_trace();
if (iface!=NULL)
{
@@ -39,12 +39,11 @@
ULONG WINAPI
DirectDrawPalette_AddRef( LPDIRECTDRAWPALETTE iface)
-{
+{
+ IDirectDrawPaletteImpl * This = (IDirectDrawPaletteImpl*)iface;
+ ULONG ref=0;
+
DX_WINDBG_trace();
-
- IDirectDrawPaletteImpl * This = (IDirectDrawPaletteImpl*)iface;
-
- ULONG ref=0;
if (iface!=NULL)
{
Modified: trunk/reactos/dll/directx/ddraw/rosdraw.h
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/rosdraw.…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/rosdraw.h (original)
+++ trunk/reactos/dll/directx/ddraw/rosdraw.h Mon Nov 6 00:19:53 2006
@@ -25,6 +25,9 @@
/******** Main Object ********/
/* Public interface */
+VOID WINAPI AcquireDDThreadLock();
+VOID WINAPI ReleaseDDThreadLock();
+
HRESULT WINAPI Main_DirectDraw_QueryInterface (LPDIRECTDRAW7 iface, REFIID id, LPVOID
*obj);
ULONG WINAPI Main_DirectDraw_AddRef (LPDIRECTDRAW7 iface);
ULONG WINAPI Main_DirectDraw_Release (LPDIRECTDRAW7 iface);
@@ -317,6 +320,7 @@
/*********** Macros ***********/
#define DX_STUB \
+{ \
static BOOL firstcall = TRUE; \
if (firstcall) \
{ \
@@ -325,9 +329,11 @@
OutputDebugStringA(buffer); \
firstcall = FALSE; \
} \
+} \
return DDERR_UNSUPPORTED;
#define DX_STUB_DD_OK \
+{ \
static BOOL firstcall = TRUE; \
if (firstcall) \
{ \
@@ -336,6 +342,7 @@
OutputDebugStringA(buffer); \
firstcall = FALSE; \
} \
+} \
return DD_OK;
Modified: trunk/reactos/dll/directx/ddraw/soft/surface_callbacks_hel.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/soft/sur…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/soft/surface_callbacks_hel.c (original)
+++ trunk/reactos/dll/directx/ddraw/soft/surface_callbacks_hel.c Mon Nov 6 00:19:53 2006
@@ -8,7 +8,7 @@
*
*/
-#include "rosdraw.h"
+#include "../rosdraw.h"
extern DDPIXELFORMAT pixelformats[];
Modified: trunk/reactos/dll/directx/ddraw/soft/surface_hel.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/soft/sur…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/soft/surface_hel.c (original)
+++ trunk/reactos/dll/directx/ddraw/soft/surface_hel.c Mon Nov 6 00:19:53 2006
@@ -8,7 +8,7 @@
*
*/
-#include "rosdraw.h"
+#include "../rosdraw.h"
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 Mon Nov 6 00:19:53 2006
@@ -53,7 +53,19 @@
This->mpModeInfos[0].lPitch = (devmode.dmPelsWidth*devmode.dmBitsPerPel)/8;
This->mpModeInfos[0].wRefreshRate = (WORD)devmode.dmDisplayFrequency;
- This->hdc = CreateDCW(L"DISPLAY",L"DISPLAY",NULL,NULL);
+ if ( This->devicetype <3 )
+ {
+ /* Create HDC for default, hal and hel driver */
+ This->hdc = CreateDCW(L"DISPLAY",L"DISPLAY",NULL,NULL);
+ }
+ else
+ {
+ /* FIXME : need getting driver from the GUID that have been pass in from
+ the register. we do not support that yet
+ */
+ This->hdc = NULL ;
+ }
+
if (This->hdc == NULL)
{
@@ -222,6 +234,7 @@
StartDirectDrawHal(LPDIRECTDRAW* iface)
{
IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
+ DDHAL_GETDRIVERINFODATA DriverInfo;
/* HAL Startup process */
BOOL newmode = FALSE;
@@ -354,7 +367,7 @@
//DeleteDC(This->hdc);
- DDHAL_GETDRIVERINFODATA DriverInfo;
+
memset(&DriverInfo,0, sizeof(DDHAL_GETDRIVERINFODATA));
DriverInfo.dwSize = sizeof(DDHAL_GETDRIVERINFODATA);
DriverInfo.dwContext = This->mDDrawGlobal.hDD;
@@ -425,14 +438,21 @@
REFIID id,
BOOL ex)
{
- IDirectDrawImpl* This = (IDirectDrawImpl*)HeapAlloc(GetProcessHeap(),
HEAP_ZERO_MEMORY, sizeof(IDirectDrawImpl));
+ IDirectDrawImpl* This;
DX_WINDBG_trace();
+
+ //AcquireDDThreadLock();
+
+ This = (IDirectDrawImpl*)HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY,
sizeof(IDirectDrawImpl));
+
if (This == NULL)
{
+ ReleaseDDThreadLock();
return E_OUTOFMEMORY;
}
+
ZeroMemory(This,sizeof(IDirectDrawImpl));
@@ -442,29 +462,39 @@
This->lpVtbl_v4 = &DDRAW_IDirectDraw4_VTable;
*pIface = (LPDIRECTDRAW)This;
-
- This->devicetype = 0;
-
- if (pGUID == (LPGUID) DDCREATE_HARDWAREONLY)
- {
- This->devicetype = 1; /* hal only */
- }
-
- if (pGUID == (LPGUID) DDCREATE_EMULATIONONLY)
- {
- This->devicetype = 2; /* hel only */
- }
+
+ if (pGUID == 0)
+ {
+ This->devicetype = 0; /* both hal and hel default driver "DISPLAY" */
+ }
+ else if (pGUID == (LPGUID) DDCREATE_HARDWAREONLY)
+ {
+ This->devicetype = 1; /* hal only default driver "DISPLAY" */
+ }
+
+ else if (pGUID == (LPGUID) DDCREATE_EMULATIONONLY)
+ {
+ This->devicetype = 2; /* hel only default driver "DISPLAY" */
+ }
+ else
+ {
+ This->devicetype = 3; /* Read from the register which driver it should be */
+ }
+
if(This->lpVtbl->QueryInterface ((LPDIRECTDRAW7)This, id, (void**)&pIface) !=
S_OK)
{
+ ReleaseDDThreadLock();
return DDERR_INVALIDPARAMS;
}
if (StartDirectDraw((LPDIRECTDRAW*)This) == DD_OK);
{
+ //ReleaseDDThreadLock();
return This->lpVtbl->Initialize ((LPDIRECTDRAW7)This, pGUID);
}
+ //ReleaseDDThreadLock();
return DDERR_INVALIDPARAMS;
}
Modified: trunk/reactos/dll/directx/ddraw/thunks/ddraw_thunk.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/thunks/d…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/thunks/ddraw_thunk.c (original)
+++ trunk/reactos/dll/directx/ddraw/thunks/ddraw_thunk.c Mon Nov 6 00:19:53 2006
@@ -22,7 +22,7 @@
*
*/
-#include "winedraw.h"
+#include "../winedraw.h"
static HRESULT WINAPI
Modified: trunk/reactos/dll/directx/ddraw/thunks/surface_thunk.c
URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/directx/ddraw/thunks/s…
==============================================================================
--- trunk/reactos/dll/directx/ddraw/thunks/surface_thunk.c (original)
+++ trunk/reactos/dll/directx/ddraw/thunks/surface_thunk.c Mon Nov 6 00:19:53 2006
@@ -22,7 +22,7 @@
*
*/
-#include "winedraw.h"
+#include "../winedraw.h"
#define CONVERT(pdds) COM_INTERFACE_CAST(IDirectDrawSurfaceImpl, \
IDirectDrawSurface3, \