mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-24 17:04:17 +00:00
Implement MxDisplaySurface::CreateCursorSurface (#471)
* Update mxdisplaysurface.cpp * Fixes * Update legovideomanager.cpp * Match to 100% --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
@@ -72,8 +72,8 @@ private:
|
||||
MxS32 m_cursorYCopy; // 0x508
|
||||
MxS32 m_cursorX; // 0x50c
|
||||
MxS32 m_cursorY; // 0x510
|
||||
LPDIRECTDRAWSURFACE m_unk0x514; // 0x514
|
||||
RECT m_unk0x518; // 0x518
|
||||
LPDIRECTDRAWSURFACE m_cursorSurface; // 0x514
|
||||
RECT m_cursorRect; // 0x518
|
||||
undefined4 m_unk0x528; // 0x528
|
||||
MxBool m_drawFPS; // 0x52c
|
||||
RECT m_fpsRect; // 0x530
|
||||
|
||||
@@ -30,7 +30,7 @@ LegoVideoManager::LegoVideoManager()
|
||||
m_cursorX = m_cursorY;
|
||||
m_cursorYCopy = m_cursorY;
|
||||
m_cursorXCopy = m_cursorY;
|
||||
m_unk0x514 = NULL;
|
||||
m_cursorSurface = NULL;
|
||||
m_fullScreenMovie = FALSE;
|
||||
m_drawFPS = FALSE;
|
||||
m_unk0x528 = 0;
|
||||
@@ -309,18 +309,19 @@ inline void LegoVideoManager::DrawCursor()
|
||||
|
||||
LPDIRECTDRAWSURFACE ddSurface2 = m_displaySurface->GetDirectDrawSurface2();
|
||||
|
||||
if (!m_unk0x514) {
|
||||
m_unk0x518.top = 0;
|
||||
m_unk0x518.left = 0;
|
||||
m_unk0x518.bottom = 16;
|
||||
m_unk0x518.right = 16;
|
||||
m_unk0x514 = MxDisplaySurface::FUN_100bc070();
|
||||
if (!m_cursorSurface) {
|
||||
m_cursorRect.top = 0;
|
||||
m_cursorRect.left = 0;
|
||||
m_cursorRect.bottom = 16;
|
||||
m_cursorRect.right = 16;
|
||||
m_cursorSurface = MxDisplaySurface::CreateCursorSurface();
|
||||
|
||||
if (!m_unk0x514)
|
||||
if (!m_cursorSurface)
|
||||
m_drawCursor = FALSE;
|
||||
}
|
||||
|
||||
ddSurface2->BltFast(m_cursorXCopy, m_cursorYCopy, m_unk0x514, &m_unk0x518, DDBLTFAST_WAIT | DDBLTFAST_SRCCOLORKEY);
|
||||
ddSurface2
|
||||
->BltFast(m_cursorXCopy, m_cursorYCopy, m_cursorSurface, &m_cursorRect, DDBLTFAST_WAIT | DDBLTFAST_SRCCOLORKEY);
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1007bbc0
|
||||
|
||||
Reference in New Issue
Block a user