mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-21 07:11:16 +00:00
Start vtable14
This commit is contained in:
parent
d00caaa698
commit
81a052e625
@ -30,10 +30,42 @@ MxBitmap::~MxBitmap()
|
|||||||
delete m_palette;
|
delete m_palette;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100bcc40 STUB
|
// OFFSET: LEGO1 0x100bcc40
|
||||||
int MxBitmap::vtable14(int)
|
MxResult MxBitmap::vtable14(MxBitmap *p_bitmap)
|
||||||
{
|
{
|
||||||
return 0;
|
MxLong height;
|
||||||
|
MxResult result = FAILURE;
|
||||||
|
MxLong size;
|
||||||
|
|
||||||
|
this->m_info = new MxBITMAPINFO;
|
||||||
|
if(this->m_info) {
|
||||||
|
height = p_bitmap->m_bmiHeader->biHeight;
|
||||||
|
if (height <= 0L) {
|
||||||
|
height = -height;
|
||||||
|
}
|
||||||
|
size = (p_bitmap->m_bmiHeader->biWidth + 3U & -4) * height;
|
||||||
|
this->m_data = (LPVOID*) new MxU8[size];
|
||||||
|
if(this->m_data) {
|
||||||
|
memcpy(this->m_info, p_bitmap->m_info, sizeof(MxBITMAPINFO));
|
||||||
|
memcpy(this->m_bmiHeader, p_bitmap->m_bmiHeader, sizeof(MxBITMAPINFO));
|
||||||
|
memcpy(this->m_paletteData, p_bitmap->m_paletteData, sizeof(MxBITMAPINFO));
|
||||||
|
memcpy(this->m_data, p_bitmap->m_data, sizeof(MxBITMAPINFO));
|
||||||
|
result = SUCCESS;
|
||||||
|
this->m_bmiHeader = &this->m_info->bmiHeader;
|
||||||
|
this->m_paletteData = this->m_info->bmiColors;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (result != SUCCESS) {
|
||||||
|
if (this->m_info) {
|
||||||
|
delete this->m_info;
|
||||||
|
this->m_info = NULL;
|
||||||
|
}
|
||||||
|
if (this->m_data) {
|
||||||
|
delete this->m_data;
|
||||||
|
this->m_data = NULL;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x100bcba0
|
// OFFSET: LEGO1 0x100bcba0
|
||||||
|
|||||||
@ -31,7 +31,7 @@ class MxBitmap : public MxCore
|
|||||||
__declspec(dllexport) MxBitmap();
|
__declspec(dllexport) MxBitmap();
|
||||||
__declspec(dllexport) virtual ~MxBitmap(); // vtable+00
|
__declspec(dllexport) virtual ~MxBitmap(); // vtable+00
|
||||||
|
|
||||||
virtual int vtable14(int);
|
virtual MxResult vtable14(MxBitmap *p_bitmap);
|
||||||
virtual MxResult vtable18(MxBITMAPINFO *p_info);
|
virtual MxResult vtable18(MxBITMAPINFO *p_info);
|
||||||
virtual MxResult vtable1c(int p_width, int p_height, MxPalette *p_palette, int);
|
virtual MxResult vtable1c(int p_width, int p_height, MxPalette *p_palette, int);
|
||||||
virtual MxResult LoadFile(HANDLE p_handle);
|
virtual MxResult LoadFile(HANDLE p_handle);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user