From 1a69a7c2996bc1628ef048b7471444e1a97824c9 Mon Sep 17 00:00:00 2001 From: ktkaufman03 Date: Mon, 3 Jul 2023 18:25:44 -0400 Subject: [PATCH] improved MxPalette::Clone, will be 100% when MSVC feels like making it so --- LEGO1/mxpalette.cpp | 15 ++++++--------- LEGO1/mxpalette.h | 2 +- 2 files changed, 7 insertions(+), 10 deletions(-) diff --git a/LEGO1/mxpalette.cpp b/LEGO1/mxpalette.cpp index c63cfb8f..7745d558 100644 --- a/LEGO1/mxpalette.cpp +++ b/LEGO1/mxpalette.cpp @@ -35,16 +35,13 @@ void MxPalette::ApplySystemEntriesToPalette(LPPALETTEENTRY p_entries) // FIXME: we get g_defaultPalette here, we need to define that, then we cna do the memcpy's } -// OFFSET: LEGO1 100bf0b0 -MxPalette* MxPalette::Clone() +// OFFSET: LEGO1 0x100bf0b0 +MxPalette& MxPalette::Clone() { - // FIXME: doesnt match - MxPalette *pal = (MxPalette *) malloc(0x414); - if(pal != NULL) { - GetEntries(pal->m_entries); - pal->m_overrideSkyColor = m_overrideSkyColor; - } - return pal; + MxPalette *result = new MxPalette; + this->GetEntries(result->m_entries); + result->m_overrideSkyColor = this->m_overrideSkyColor; + return *result; } // OFFSET: LEGO1 0x100beed0 diff --git a/LEGO1/mxpalette.h b/LEGO1/mxpalette.h index df639ec8..18dc9a5e 100644 --- a/LEGO1/mxpalette.h +++ b/LEGO1/mxpalette.h @@ -18,7 +18,7 @@ class MxPalette : public MxCore virtual ~MxPalette(); void ApplySystemEntriesToPalette(LPPALETTEENTRY p_entries); - MxPalette* Clone(); + MxPalette& Clone(); MxPalette* FromBitmapPalette(RGBQUAD* p_bmp); void GetDefaultPalette(LPPALETTEENTRY p_entries); MxResult GetEntries(LPPALETTEENTRY p_entries);