From 02f3df3988cba54310faedcd8e1ee4cf09b8935e Mon Sep 17 00:00:00 2001
From: Jason Edmeades <us@the-edmeades.demon.co.uk>
Date: Sun, 20 Apr 2003 02:43:05 +0000
Subject: [PATCH] Windows never reports 24 bit colours, and some games fail to
 work unless in specific modes. Report 16bit colour for 24bit modes.

---
 dlls/d3d8/directx.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/dlls/d3d8/directx.c b/dlls/d3d8/directx.c
index 83811b39aae..3d5d0ad4615 100644
--- a/dlls/d3d8/directx.c
+++ b/dlls/d3d8/directx.c
@@ -197,9 +197,8 @@ HRESULT  WINAPI  IDirect3D8Impl_EnumAdapterModes           (LPDIRECT3D8 iface,
 
         switch (bpp) {
         case  8: pMode->Format       = D3DFMT_R3G3B2;   break;
-	/*case 16: pMode->Format       = D3DFMT_A4R4G4B4; break;*/
-	case 16: pMode->Format       = D3DFMT_R5G6B5;   break;
-        case 24: pMode->Format       = D3DFMT_R8G8B8;   break;
+        case 16: pMode->Format       = D3DFMT_R5G6B5;   break;
+        case 24: pMode->Format       = D3DFMT_R5G6B5;   break; /* Make 24bit appear as 16 bit */
         case 32: pMode->Format       = D3DFMT_A8R8G8B8; break;
         default: pMode->Format       = D3DFMT_UNKNOWN;
         }
@@ -235,9 +234,8 @@ HRESULT  WINAPI  IDirect3D8Impl_GetAdapterDisplayMode      (LPDIRECT3D8 iface,
 
         switch (bpp) {
         case  8: pMode->Format       = D3DFMT_R3G3B2;   break;
-	case 16: pMode->Format       = D3DFMT_R5G6B5;   break;
-	/*case 16: pMode->Format       = D3DFMT_A4R4G4B4; break;*/
-        case 24: pMode->Format       = D3DFMT_R8G8B8;   break;
+        case 16: pMode->Format       = D3DFMT_R5G6B5;   break;
+        case 24: pMode->Format       = D3DFMT_R5G6B5;   break; /* Make 24bit appear as 16 bit */
         case 32: pMode->Format       = D3DFMT_A8R8G8B8; break;
         default: pMode->Format       = D3DFMT_UNKNOWN;
         }
-- 
GitLab