From 57885103c0f7f0fa66fb11b0f9ae49d0e5be0d08 Mon Sep 17 00:00:00 2001 From: ktkaufman03 Date: Tue, 4 Jul 2023 18:29:41 -0400 Subject: [PATCH] fix: MxPalette::ApplySystemEntriesToPalette is now 100% matching --- LEGO1/mxpalette.cpp | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/LEGO1/mxpalette.cpp b/LEGO1/mxpalette.cpp index 2bedc5eb..872aa32f 100644 --- a/LEGO1/mxpalette.cpp +++ b/LEGO1/mxpalette.cpp @@ -282,20 +282,20 @@ MxPalette::~MxPalette() // OFFSET: LEGO1 0x100bf390 void MxPalette::ApplySystemEntriesToPalette(LPPALETTEENTRY p_entries) { - HDC hdc = GetDC(NULL); - int rastercaps = GetDeviceCaps(hdc, RASTERCAPS); - int sizepalettecaps; - if ((rastercaps & RC_PALETTE) != 0) { - sizepalettecaps = GetDeviceCaps(hdc, SIZEPALETTE); - if(sizepalettecaps = 256) { - GetSystemPaletteEntries(hdc,0,10,p_entries); - GetSystemPaletteEntries(hdc,246,10,p_entries + 0xf6); - ReleaseDC(NULL, hdc); - } + HDC hdc; + + hdc = GetDC(0); + if ( (GetDeviceCaps(hdc, RASTERCAPS) & RC_PALETTE) != 0 && GetDeviceCaps(hdc, SIZEPALETTE) == 256 ) + { + GetSystemPaletteEntries(hdc, 0, 10, p_entries); + GetSystemPaletteEntries(hdc, 246, 10, &p_entries[246]); } - memcpy(p_entries, g_defaultPalette, 10); - memcpy(p_entries + 0xf6, g_defaultPalette + 0xf6, 10); - ReleaseDC(NULL, hdc); + else + { + memcpy(p_entries, g_defaultPaletteEntries, sizeof(PALETTEENTRY) * 10); + memcpy(&p_entries[246], &g_defaultPaletteEntries[246], sizeof(PALETTEENTRY) * 10); + } + ReleaseDC(0, hdc); } // OFFSET: LEGO1 0x100bf0b0 @@ -322,7 +322,7 @@ MxPalette* MxPalette::FromBitmapPalette(RGBQUAD* p_bmp) void MxPalette::GetDefaultPalette(LPPALETTEENTRY p_entries) { HDC DC; - + DC = GetDC(0); if ( (GetDeviceCaps(DC, 38) & 0x100) != 0 && GetDeviceCaps(DC, 104) == 256 ) {