mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-21 07:11:16 +00:00
yolo vtable38 (I can't test the build atm)
I moved up ImportColorsToPalette so other functions, including this one can use it
This commit is contained in:
parent
3729b879d3
commit
35b2cc3572
@ -63,6 +63,32 @@ MxResult MxBitmap::vtable18(BITMAPINFOHEADER *p_bmiHeader)
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x100bd450
|
||||||
|
MxResult ImportColorsToPalette(RGBQUAD* p_rgbquad, MxPalette* p_palette)
|
||||||
|
{
|
||||||
|
MxPalette* local_pal;
|
||||||
|
MxResult ret = FAILURE;
|
||||||
|
PALETTEENTRY entries[256];
|
||||||
|
MxResult opret;
|
||||||
|
|
||||||
|
if(p_palette == NULL) {
|
||||||
|
local_pal = new MxPalette;
|
||||||
|
opret = local_pal->GetEntries(entries);
|
||||||
|
if(opret != 0) {
|
||||||
|
delete local_pal;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
opret = p_palette->GetEntries(entries);
|
||||||
|
if(opret != 0) return ret;
|
||||||
|
}
|
||||||
|
|
||||||
|
// FIXME/TODO: the loop here, possibly memcpy
|
||||||
|
ret = SUCCESS;
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100bcaa0 STUB
|
// OFFSET: LEGO1 0x100bcaa0 STUB
|
||||||
int MxBitmap::vtable1c(int p_width, int p_height, MxPalette *p_palette, int)
|
int MxBitmap::vtable1c(int p_width, int p_height, MxPalette *p_palette, int)
|
||||||
{
|
{
|
||||||
@ -188,9 +214,16 @@ MxPalette *MxBitmap::CreatePalette()
|
|||||||
return pal;
|
return pal;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100bd280 STUB
|
// OFFSET: LEGO1 0x100bd280
|
||||||
void MxBitmap::vtable38(void*)
|
void MxBitmap::ImportPalette(MxPalette* p_palette)
|
||||||
{
|
{
|
||||||
|
if (this->m_bmiColorsProvided) {
|
||||||
|
ImportColorsToPalette(this->m_paletteData, p_palette);
|
||||||
|
}
|
||||||
|
if (this->m_palette != NULL) {
|
||||||
|
delete this->m_palette;
|
||||||
|
}
|
||||||
|
this->m_palette = p_palette->Clone();
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100bd2d0 STUB
|
// OFFSET: LEGO1 0x100bd2d0 STUB
|
||||||
@ -208,29 +241,4 @@ MxResult MxBitmap::CopyColorData(HDC p_hdc, int p_xSrc, int p_ySrc, int p_xDest,
|
|||||||
}
|
}
|
||||||
|
|
||||||
return StretchDIBits(p_hdc, p_xDest, p_yDest, p_destWidth, p_destHeight, p_xSrc, p_ySrc, p_destWidth, p_destHeight, this->m_data, this->m_info, this->m_bmiColorsProvided, SRCCOPY);
|
return StretchDIBits(p_hdc, p_xDest, p_yDest, p_destWidth, p_destHeight, p_xSrc, p_ySrc, p_destWidth, p_destHeight, this->m_data, this->m_info, this->m_bmiColorsProvided, SRCCOPY);
|
||||||
}
|
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100bd450
|
|
||||||
MxResult ImportColorsToPalette(RGBQUAD* p_rgbquad, MxPalette* p_palette)
|
|
||||||
{
|
|
||||||
MxPalette* local_pal;
|
|
||||||
MxResult ret = FAILURE;
|
|
||||||
PALETTEENTRY entries[256];
|
|
||||||
MxResult opret;
|
|
||||||
|
|
||||||
if(p_palette == NULL) {
|
|
||||||
local_pal = new MxPalette;
|
|
||||||
opret = local_pal->GetEntries(entries);
|
|
||||||
if(opret != 0) {
|
|
||||||
delete local_pal;
|
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
opret = p_palette->GetEntries(entries);
|
|
||||||
if(opret != 0) return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
// FIXME/TODO: the loop here, possibly memcpy
|
|
||||||
ret = SUCCESS;
|
|
||||||
return ret;
|
|
||||||
}
|
}
|
||||||
@ -22,7 +22,7 @@ class MxBitmap : public MxCore
|
|||||||
virtual void vtable2c(int, int, int, int, int, int, int);
|
virtual void vtable2c(int, int, int, int, int, int, int);
|
||||||
virtual void vtable30(int, int, int, int, int, int, int);
|
virtual void vtable30(int, int, int, int, int, int, int);
|
||||||
__declspec(dllexport) virtual MxPalette *CreatePalette(); // vtable+34
|
__declspec(dllexport) virtual MxPalette *CreatePalette(); // vtable+34
|
||||||
virtual void vtable38(void*);
|
virtual void ImportPalette(MxPalette* p_palette);
|
||||||
virtual int vtable3c(MxBool);
|
virtual int vtable3c(MxBool);
|
||||||
virtual MxResult CopyColorData(HDC p_hdc, int p_xSrc, int p_ySrc, int p_xDest, int p_yDest, int p_destWidth, int p_destHeight); // vtable+40
|
virtual MxResult CopyColorData(HDC p_hdc, int p_xSrc, int p_ySrc, int p_xDest, int p_yDest, int p_destWidth, int p_destHeight); // vtable+40
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user