From 56e839e2f8dc99fb6387c3688a1b08b2c314f346 Mon Sep 17 00:00:00 2001 From: Anders Jenbo Date: Tue, 9 Apr 2019 21:36:40 +0200 Subject: [PATCH] Clean up LoadSysPal --- Source/palette.cpp | 10 ++++++---- Source/palette.h | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Source/palette.cpp b/Source/palette.cpp index 58df35d47..a641cccae 100644 --- a/Source/palette.cpp +++ b/Source/palette.cpp @@ -5,7 +5,7 @@ PALETTEENTRY logical_palette[256]; PALETTEENTRY system_palette[256]; PALETTEENTRY orig_palette[256]; -UINT gdwPalEntries; +int gdwPalEntries; /* data */ @@ -67,25 +67,27 @@ void LoadGamma() void LoadSysPal() { - HDC hDC; // ebx - int i; // ecx - int iStartIndex; // edi + HDC hDC; + int i, iStartIndex; for (i = 0; i < 256; i++) system_palette[i].peFlags = PC_NOCOLLAPSE | PC_RESERVED; if (!fullscreen) { hDC = GetDC(NULL); + gdwPalEntries = GetDeviceCaps(hDC, NUMRESERVED) / 2; GetSystemPaletteEntries(hDC, 0, gdwPalEntries, system_palette); for (i = 0; i < gdwPalEntries; i++) system_palette[i].peFlags = 0; + iStartIndex = 256 - gdwPalEntries; GetSystemPaletteEntries(hDC, iStartIndex, gdwPalEntries, &system_palette[iStartIndex]); if (iStartIndex < 256) { for (i = iStartIndex; i < 256; i++) system_palette[i].peFlags = 0; } + ReleaseDC(NULL, hDC); } } diff --git a/Source/palette.h b/Source/palette.h index d8e6e62d3..a36b9409a 100644 --- a/Source/palette.h +++ b/Source/palette.h @@ -5,7 +5,7 @@ extern PALETTEENTRY logical_palette[256]; extern PALETTEENTRY system_palette[256]; extern PALETTEENTRY orig_palette[256]; -extern UINT gdwPalEntries; +extern int gdwPalEntries; void SaveGamma(); void palette_init();