Remove this

This commit is contained in:
disinvite 2024-05-27 16:45:02 -04:00
parent b8ea5bf9ba
commit 7eacf4d7b3

View File

@ -13,24 +13,24 @@ MxU16 g_bitmapSignature = TWOCC('B', 'M');
// FUNCTION: LEGO1 0x100bc980 // FUNCTION: LEGO1 0x100bc980
MxBitmap::MxBitmap() MxBitmap::MxBitmap()
{ {
this->m_info = NULL; m_info = NULL;
this->m_bmiHeader = NULL; m_bmiHeader = NULL;
this->m_paletteData = NULL; m_paletteData = NULL;
this->m_data = NULL; m_data = NULL;
this->m_isHighColor = FALSE; m_isHighColor = FALSE;
this->m_palette = NULL; m_palette = NULL;
} }
// FUNCTION: LEGO1 0x100bca10 // FUNCTION: LEGO1 0x100bca10
MxBitmap::~MxBitmap() MxBitmap::~MxBitmap()
{ {
if (this->m_info) { if (m_info) {
delete m_info; delete m_info;
} }
if (this->m_data) { if (m_data) {
delete m_data; delete m_data;
} }
if (this->m_palette) { if (m_palette) {
delete m_palette; delete m_palette;
} }
} }
@ -88,26 +88,26 @@ MxResult MxBitmap::ImportBitmapInfo(MxBITMAPINFO* p_info)
MxLong height = p_info->m_bmiHeader.biHeight; MxLong height = p_info->m_bmiHeader.biHeight;
MxLong size = AlignToFourByte(width) * height; MxLong size = AlignToFourByte(width) * height;
this->m_info = new MxBITMAPINFO; m_info = new MxBITMAPINFO;
if (this->m_info) { if (m_info) {
this->m_data = new MxU8[size]; m_data = new MxU8[size];
if (this->m_data) { if (m_data) {
memcpy(this->m_info, p_info, sizeof(*this->m_info)); memcpy(m_info, p_info, sizeof(*m_info));
this->m_bmiHeader = &this->m_info->m_bmiHeader; m_bmiHeader = &m_info->m_bmiHeader;
this->m_paletteData = this->m_info->m_bmiColors; m_paletteData = m_info->m_bmiColors;
result = SUCCESS; result = SUCCESS;
} }
} }
if (result != SUCCESS) { if (result != SUCCESS) {
if (this->m_info) { if (m_info) {
delete this->m_info; delete m_info;
this->m_info = NULL; m_info = NULL;
} }
if (this->m_data) { if (m_data) {
delete[] this->m_data; delete[] m_data;
this->m_data = NULL; m_data = NULL;
} }
} }
@ -119,28 +119,28 @@ MxResult MxBitmap::ImportBitmap(MxBitmap* p_bitmap)
{ {
MxResult result = FAILURE; MxResult result = FAILURE;
this->m_info = new MxBITMAPINFO; m_info = new MxBITMAPINFO;
if (this->m_info) { if (m_info) {
this->m_data = new MxU8[p_bitmap->GetDataSize()]; m_data = new MxU8[p_bitmap->GetDataSize()];
if (this->m_data) { if (m_data) {
memcpy(this->m_info, p_bitmap->GetBitmapInfo(), MxBITMAPINFO::Size()); memcpy(m_info, p_bitmap->GetBitmapInfo(), MxBITMAPINFO::Size());
memcpy(this->m_data, p_bitmap->GetImage(), p_bitmap->GetDataSize()); memcpy(m_data, p_bitmap->GetImage(), p_bitmap->GetDataSize());
this->m_bmiHeader = &this->m_info->m_bmiHeader; m_bmiHeader = &m_info->m_bmiHeader;
this->m_paletteData = this->m_info->m_bmiColors; m_paletteData = m_info->m_bmiColors;
result = SUCCESS; result = SUCCESS;
} }
} }
if (result != SUCCESS) { if (result != SUCCESS) {
if (this->m_info) { if (m_info) {
delete this->m_info; delete m_info;
this->m_info = NULL; m_info = NULL;
} }
if (this->m_data) { if (m_data) {
delete this->m_data; delete m_data;
this->m_data = NULL; m_data = NULL;
} }
} }
@ -174,21 +174,20 @@ MxResult MxBitmap::LoadFile(HANDLE p_handle)
BOOL ret = ReadFile(p_handle, &hdr, sizeof(hdr), &bytesRead, NULL); BOOL ret = ReadFile(p_handle, &hdr, sizeof(hdr), &bytesRead, NULL);
if (ret && (hdr.bfType == g_bitmapSignature)) { if (ret && (hdr.bfType == g_bitmapSignature)) {
this->m_info = new MxBITMAPINFO; m_info = new MxBITMAPINFO;
if (this->m_info) { if (m_info) {
ret = ReadFile(p_handle, this->m_info, sizeof(*this->m_info), &bytesRead, NULL); ret = ReadFile(p_handle, m_info, sizeof(*m_info), &bytesRead, NULL);
if (ret && (this->m_info->m_bmiHeader.biBitCount == 8)) { if (ret && (m_info->m_bmiHeader.biBitCount == 8)) {
MxLong size = hdr.bfSize - (sizeof(MxBITMAPINFO) + sizeof(BITMAPFILEHEADER)); MxLong size = hdr.bfSize - (sizeof(MxBITMAPINFO) + sizeof(BITMAPFILEHEADER));
this->m_data = new MxU8[size]; m_data = new MxU8[size];
if (this->m_data) { if (m_data) {
ret = ReadFile(p_handle, this->m_data, size, &bytesRead, NULL); ret = ReadFile(p_handle, m_data, size, &bytesRead, NULL);
if (ret) { if (ret) {
this->m_bmiHeader = &this->m_info->m_bmiHeader; m_bmiHeader = &m_info->m_bmiHeader;
this->m_paletteData = this->m_info->m_bmiColors; m_paletteData = m_info->m_bmiColors;
if (this->m_info->m_bmiHeader.biSizeImage == 0) { if (m_info->m_bmiHeader.biSizeImage == 0) {
MxLong height = AbsFlipped(this->m_info->m_bmiHeader.biHeight); MxLong height = AbsFlipped(m_info->m_bmiHeader.biHeight);
this->m_info->m_bmiHeader.biSizeImage = m_info->m_bmiHeader.biSizeImage = AlignToFourByte(m_info->m_bmiHeader.biWidth) * height;
AlignToFourByte(this->m_info->m_bmiHeader.biWidth) * height;
} }
result = SUCCESS; result = SUCCESS;
} }
@ -198,14 +197,14 @@ MxResult MxBitmap::LoadFile(HANDLE p_handle)
} }
if (result != SUCCESS) { if (result != SUCCESS) {
if (this->m_info) { if (m_info) {
delete this->m_info; delete m_info;
this->m_info = NULL; m_info = NULL;
} }
if (this->m_data) { if (m_data) {
delete this->m_data; delete m_data;
this->m_data = NULL; m_data = NULL;
} }
} }
@ -303,9 +302,9 @@ MxPalette* MxBitmap::CreatePalette()
MxBool success = FALSE; MxBool success = FALSE;
MxPalette* palette = NULL; MxPalette* palette = NULL;
switch (this->m_isHighColor) { switch (m_isHighColor) {
case FALSE: case FALSE:
palette = new MxPalette(this->m_paletteData); palette = new MxPalette(m_paletteData);
if (!palette) { if (!palette) {
goto done; goto done;
@ -313,7 +312,7 @@ MxPalette* MxBitmap::CreatePalette()
break; break;
case TRUE: case TRUE:
palette = this->m_palette->Clone(); palette = m_palette->Clone();
if (!palette) { if (!palette) {
goto done; goto done;
@ -339,16 +338,16 @@ MxPalette* MxBitmap::CreatePalette()
void MxBitmap::ImportPalette(MxPalette* p_palette) void MxBitmap::ImportPalette(MxPalette* p_palette)
{ {
// Odd to use a switch on a boolean, but it matches. // Odd to use a switch on a boolean, but it matches.
switch (this->m_isHighColor) { switch (m_isHighColor) {
case FALSE: case FALSE:
ImportColorsToPalette(this->m_paletteData, p_palette); ImportColorsToPalette(m_paletteData, p_palette);
break; break;
case TRUE: case TRUE:
if (this->m_palette) { if (m_palette) {
delete this->m_palette; delete m_palette;
} }
this->m_palette = p_palette->Clone(); m_palette = p_palette->Clone();
break; break;
} }
} }
@ -420,8 +419,8 @@ MxResult MxBitmap::StretchBits(
) )
{ {
// Compression fix? // Compression fix?
if ((this->m_bmiHeader->biCompression != BI_RGB_TOPDOWN) && (0 < this->m_bmiHeader->biHeight)) { if ((m_bmiHeader->biCompression != BI_RGB_TOPDOWN) && (0 < m_bmiHeader->biHeight)) {
p_ySrc = (this->m_bmiHeader->biHeight - p_destHeight) - p_ySrc; p_ySrc = (m_bmiHeader->biHeight - p_destHeight) - p_ySrc;
} }
return StretchDIBits( return StretchDIBits(
@ -434,9 +433,9 @@ MxResult MxBitmap::StretchBits(
p_ySrc, p_ySrc,
p_destWidth, p_destWidth,
p_destHeight, p_destHeight,
this->m_data, m_data,
(BITMAPINFO*) this->m_info, (BITMAPINFO*) m_info,
this->m_isHighColor, m_isHighColor,
SRCCOPY SRCCOPY
); );
} }