From 487c98aa1f7c2ccf7d6bd46ecd49029890761cea Mon Sep 17 00:00:00 2001
From: Toni Spets <toni.spets@iki.fi>
Date: Sun, 17 Oct 2010 09:17:10 +0300
Subject: [PATCH] Fix incorrect method definition for CreatePalette, Red Alert
 loads up the menu!

---
 main.h    | 2 +-
 palette.c | 6 +++---
 palette.h | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/main.h b/main.h
index f8fddc2..00a634b 100644
--- a/main.h
+++ b/main.h
@@ -30,7 +30,7 @@ typedef struct
     /* IDirectDraw */
     HRESULT (*Compact)(void *);
     HRESULT (*CreateClipper)(void *);
-    HRESULT (*CreatePalette)(void *, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR *, IUnknown FAR *);
+    HRESULT (*CreatePalette)(void *, DWORD, LPPALETTEENTRY, LPDIRECTDRAWPALETTE FAR *, IUnknown FAR *);
     HRESULT (*CreateSurface)(void *, LPDDSURFACEDESC, LPDIRECTDRAWSURFACE FAR *, IUnknown FAR *);
     HRESULT (*DuplicateSurface)(void *);
     HRESULT (*EnumDisplayModes)(void *);
diff --git a/palette.c b/palette.c
index 84fc007..6c28bc7 100644
--- a/palette.c
+++ b/palette.c
@@ -24,15 +24,15 @@ ULONG AddRef(void *This);
 ULONG Release(void *This);
 HRESULT null();
 
-HRESULT ddraw_CreatePalette(void *This, LPPALETTEENTRY DDColorArray, LPDIRECTDRAWPALETTE FAR * DDPalette, IUnknown FAR * unkOuter)
+HRESULT ddraw_CreatePalette(void *This, DWORD dwFlags, LPPALETTEENTRY lpDDColorArray, LPDIRECTDRAWPALETTE FAR * lpDDPalette, IUnknown FAR * unkOuter)
 {
-    printf("DirectDraw::CreatePalette(This=%p, DDColorArray=%p, DDPalette=%p, unkOuter=%p)\n", This, DDColorArray, DDPalette, unkOuter);
+    printf("DirectDraw::CreatePalette(This=%p, dwFlags=%d, DDColorArray=%p, DDPalette=%p, unkOuter=%p)\n", This, (int)dwFlags, lpDDColorArray, lpDDPalette, unkOuter);
 
     fakeDirectDrawPaletteObject *Palette = (fakeDirectDrawPaletteObject *)malloc(sizeof(fakeDirectDrawPaletteObject));
     Palette->Ref = 1;
     Palette->Functions = &piface;
     printf(" Palette = %p\n", Palette);
-    *DDPalette = (LPDIRECTDRAWPALETTE)Palette;
+    *lpDDPalette = (LPDIRECTDRAWPALETTE)Palette;
 
     return DD_OK;
 }
diff --git a/palette.h b/palette.h
index 95a3116..c6d50c9 100644
--- a/palette.h
+++ b/palette.h
@@ -44,6 +44,6 @@ typedef struct
 
 extern fakeDirectDrawPalette piface;
 
-HRESULT ddraw_CreatePalette(void *This, LPPALETTEENTRY DDColorArray, LPDIRECTDRAWPALETTE FAR * DDPalette, IUnknown FAR * unkOuter);
+HRESULT ddraw_CreatePalette(void *This, DWORD dwFlags, LPPALETTEENTRY DDColorArray, LPDIRECTDRAWPALETTE FAR * DDPalette, IUnknown FAR * unkOuter);
 
 #endif