diff --git a/reactos/dll/directx/ddraw/ddraw.rbuild b/reactos/dll/directx/ddraw/ddraw.rbuild
index bd194793e48..36d527a2413 100644
--- a/reactos/dll/directx/ddraw/ddraw.rbuild
+++ b/reactos/dll/directx/ddraw/ddraw.rbuild
@@ -18,7 +18,6 @@
main.c
regsvr.c
startup.c
- helinterface.c
clipper.c
color.c
diff --git a/reactos/dll/directx/ddraw/helinterface.c b/reactos/dll/directx/ddraw/helinterface.c
deleted file mode 100644
index 48226fab3cd..00000000000
--- a/reactos/dll/directx/ddraw/helinterface.c
+++ /dev/null
@@ -1,40 +0,0 @@
-#include "rosdraw.h"
-
-HRESULT Hel_DirectDraw_Initialize (LPDIRECTDRAW7 iface)
-{
- IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
-
- This->HELMemoryAvilable = HEL_GRAPHIC_MEMORY_MAX;
-
- This->mCallbacks.HELDD.dwFlags = DDHAL_CB32_DESTROYDRIVER;
- This->mCallbacks.HELDD.DestroyDriver = HelDdDestroyDriver;
-
- This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_CREATESURFACE;
- This->mCallbacks.HELDD.CreateSurface = HelDdCreateSurface;
-
- // DDHAL_CB32_
- //This->mCallbacks.HELDD.SetColorKey = HelDdSetColorKey;
-
- This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_SETMODE;
- This->mCallbacks.HELDD.SetMode = HelDdSetMode;
-
- This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_WAITFORVERTICALBLANK;
- This->mCallbacks.HELDD.WaitForVerticalBlank = HelDdWaitForVerticalBlank;
-
- This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_CANCREATESURFACE;
- This->mCallbacks.HELDD.CanCreateSurface = HelDdCanCreateSurface;
-
- This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_CREATEPALETTE;
- This->mCallbacks.HELDD.CreatePalette = HelDdCreatePalette;
-
- This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_GETSCANLINE;
- This->mCallbacks.HELDD.GetScanLine = HelDdGetScanLine;
-
- This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_SETEXCLUSIVEMODE;
- This->mCallbacks.HELDD.SetExclusiveMode = HelDdSetExclusiveMode;
-
- This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_FLIPTOGDISURFACE;
- This->mCallbacks.HELDD.FlipToGDISurface = HelDdFlipToGDISurface;
-
- return DD_OK;
-}
diff --git a/reactos/dll/directx/ddraw/rosdraw.h b/reactos/dll/directx/ddraw/rosdraw.h
index 566613ec054..663934e071d 100644
--- a/reactos/dll/directx/ddraw/rosdraw.h
+++ b/reactos/dll/directx/ddraw/rosdraw.h
@@ -10,12 +10,12 @@
#include
#include
+/* DirectDraw startup code only internal use */
HRESULT WINAPI StartDirectDraw(LPDIRECTDRAW* iface);
HRESULT WINAPI StartDirectDrawHal(LPDIRECTDRAW* iface);
+HRESULT WINAPI StartDirectDrawHel(LPDIRECTDRAW* iface);
HRESULT WINAPI Create_DirectDraw (LPGUID pGUID, LPDIRECTDRAW* pIface, REFIID id, BOOL ex);
-HRESULT Hel_DirectDraw_Initialize (LPDIRECTDRAW7 );
-
/* own macro to alloc memmory */
#define DxHeapMemAlloc(m) HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, m)
#define DxHeapMemFree(p) HeapFree(GetProcessHeap(), 0, p);
diff --git a/reactos/dll/directx/ddraw/startup.c b/reactos/dll/directx/ddraw/startup.c
index 057ad11f09f..5cec747a999 100644
--- a/reactos/dll/directx/ddraw/startup.c
+++ b/reactos/dll/directx/ddraw/startup.c
@@ -110,8 +110,8 @@ StartDirectDraw(LPDIRECTDRAW* iface)
This->mDDrawGlobal.lpDDCBtmp = &This->mCallbacks;
This->mDDrawGlobal.lpExclusiveOwner = &This->mDDrawLocal;
- hal_ret = StartDirectDrawHal(iface);
- hel_ret = Hel_DirectDraw_Initialize ((LPDIRECTDRAW7)iface);
+ hal_ret = StartDirectDrawHal(iface);
+ hel_ret = StartDirectDrawHel(iface);
if ((hal_ret!=DD_OK) && (hel_ret!=DD_OK))
{
DX_STUB_str("DDERR_NODIRECTDRAWSUPPORT");
@@ -301,6 +301,46 @@ StartDirectDrawHal(LPDIRECTDRAW* iface)
return DD_OK;
}
+HRESULT WINAPI
+StartDirectDrawHel(LPDIRECTDRAW* iface)
+{
+ IDirectDrawImpl* This = (IDirectDrawImpl*)iface;
+
+ This->HELMemoryAvilable = HEL_GRAPHIC_MEMORY_MAX;
+
+ This->mCallbacks.HELDD.dwFlags = DDHAL_CB32_DESTROYDRIVER;
+ This->mCallbacks.HELDD.DestroyDriver = HelDdDestroyDriver;
+
+ This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_CREATESURFACE;
+ This->mCallbacks.HELDD.CreateSurface = HelDdCreateSurface;
+
+ // DDHAL_CB32_
+ //This->mCallbacks.HELDD.SetColorKey = HelDdSetColorKey;
+
+ This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_SETMODE;
+ This->mCallbacks.HELDD.SetMode = HelDdSetMode;
+
+ This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_WAITFORVERTICALBLANK;
+ This->mCallbacks.HELDD.WaitForVerticalBlank = HelDdWaitForVerticalBlank;
+
+ This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_CANCREATESURFACE;
+ This->mCallbacks.HELDD.CanCreateSurface = HelDdCanCreateSurface;
+
+ This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_CREATEPALETTE;
+ This->mCallbacks.HELDD.CreatePalette = HelDdCreatePalette;
+
+ This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_GETSCANLINE;
+ This->mCallbacks.HELDD.GetScanLine = HelDdGetScanLine;
+
+ This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_SETEXCLUSIVEMODE;
+ This->mCallbacks.HELDD.SetExclusiveMode = HelDdSetExclusiveMode;
+
+ This->mCallbacks.HELDD.dwFlags += DDHAL_CB32_FLIPTOGDISURFACE;
+ This->mCallbacks.HELDD.FlipToGDISurface = HelDdFlipToGDISurface;
+
+ return DD_OK;
+}
+
HRESULT
WINAPI
Create_DirectDraw (LPGUID pGUID,