mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-26 17:36:12 -05:00
932baa2a87
* Add MxDisplaySurface class members and some functions * Add size assert * style
136 lines
3.1 KiB
C++
136 lines
3.1 KiB
C++
#include "mxdisplaysurface.h"
|
|
|
|
DECOMP_SIZE_ASSERT(MxDisplaySurface, 0xac);
|
|
|
|
// OFFSET: LEGO1 0x100ba500
|
|
MxDisplaySurface::MxDisplaySurface()
|
|
{
|
|
this->Reset();
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100ba5a0
|
|
MxDisplaySurface::~MxDisplaySurface()
|
|
{
|
|
this->Clear();
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100ba610
|
|
void MxDisplaySurface::Reset()
|
|
{
|
|
this->m_ddSurface1 = NULL;
|
|
this->m_ddSurface2 = NULL;
|
|
this->m_ddClipper = NULL;
|
|
this->m_16bitPal = NULL;
|
|
this->m_initialized = FALSE;
|
|
memset(&this->m_surfaceDesc, 0, sizeof(this->m_surfaceDesc));
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100ba790
|
|
MxResult MxDisplaySurface::Init(MxVideoParam &p_videoParam, LPDIRECTDRAWSURFACE p_ddSurface1, LPDIRECTDRAWSURFACE p_ddSurface2, LPDIRECTDRAWCLIPPER p_ddClipper)
|
|
{
|
|
MxResult result = SUCCESS;
|
|
|
|
this->m_videoParam = p_videoParam;
|
|
this->m_ddSurface1 = p_ddSurface1;
|
|
this->m_ddSurface2 = p_ddSurface2;
|
|
this->m_ddClipper = p_ddClipper;
|
|
this->m_initialized = FALSE;
|
|
|
|
memset(&this->m_surfaceDesc, 0, sizeof(this->m_surfaceDesc));
|
|
this->m_surfaceDesc.dwSize = sizeof(this->m_surfaceDesc);
|
|
|
|
if (this->m_ddSurface2->GetSurfaceDesc(&this->m_surfaceDesc))
|
|
result = FAILURE;
|
|
|
|
return result;
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100ba7f0 STUB
|
|
MxResult MxDisplaySurface::Create(MxVideoParam *p_videoParam)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100baa90
|
|
void MxDisplaySurface::Clear()
|
|
{
|
|
if (this->m_initialized) {
|
|
if (this->m_ddSurface2)
|
|
this->m_ddSurface2->Release();
|
|
|
|
if (this->m_ddSurface1)
|
|
this->m_ddSurface1->Release();
|
|
|
|
if (this->m_ddClipper)
|
|
this->m_ddClipper->Release();
|
|
}
|
|
|
|
if (this->m_16bitPal)
|
|
delete this->m_16bitPal;
|
|
|
|
this->Reset();
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100baae0 STUB
|
|
void MxDisplaySurface::SetPalette(MxPalette *p_palette)
|
|
{
|
|
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100bc200 STUB
|
|
void MxDisplaySurface::vtable24(undefined4, undefined4, undefined4, undefined4, undefined4, undefined4, undefined4, undefined4)
|
|
{
|
|
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100bacc0 STUB
|
|
MxBool MxDisplaySurface::vtable28(undefined4, undefined4, undefined4, undefined4, undefined4, undefined4, undefined4)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100bc630 STUB
|
|
MxBool MxDisplaySurface::vtable2c(undefined4, undefined4, undefined4, undefined4, undefined4, undefined4, undefined4, undefined4, MxBool)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100bb1d0 STUB
|
|
MxBool MxDisplaySurface::vtable30(undefined4, undefined4, undefined4, undefined4, undefined4, undefined4, undefined4, MxBool)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100bb850 STUB
|
|
undefined4 MxDisplaySurface::vtable34(undefined4, undefined4, undefined4, undefined4, undefined4, undefined4)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100bba50 STUB
|
|
void MxDisplaySurface::Display(undefined4, undefined4, undefined4, undefined4, undefined4, undefined4)
|
|
{
|
|
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100bbc10
|
|
void MxDisplaySurface::GetDC(HDC *p_hdc)
|
|
{
|
|
if (this->m_ddSurface2 && !this->m_ddSurface2->GetDC(p_hdc))
|
|
return;
|
|
|
|
*p_hdc = NULL;
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100bbc40
|
|
void MxDisplaySurface::ReleaseDC(HDC p_hdc)
|
|
{
|
|
if (this->m_ddSurface2 && p_hdc)
|
|
this->m_ddSurface2->ReleaseDC(p_hdc);
|
|
}
|
|
|
|
// OFFSET: LEGO1 0x100bbc60 STUB
|
|
undefined4 MxDisplaySurface::vtable44(undefined4, undefined4*, undefined4, undefined4)
|
|
{
|
|
return 0;
|
|
}
|