From c5da684ac29715b6b229f545a25798726e1c79fa Mon Sep 17 00:00:00 2001 From: jonschz Date: Fri, 24 Jan 2025 11:27:52 +0100 Subject: [PATCH] 48 % --- LEGO1/lego/legoomni/src/worlds/historybook.cpp | 17 ++++++++++++----- LEGO1/omni/include/mxvideopresenter.h | 3 +++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/LEGO1/lego/legoomni/src/worlds/historybook.cpp b/LEGO1/lego/legoomni/src/worlds/historybook.cpp index a547cb93..71d57616 100644 --- a/LEGO1/lego/legoomni/src/worlds/historybook.cpp +++ b/LEGO1/lego/legoomni/src/worlds/historybook.cpp @@ -107,7 +107,7 @@ inline void SetColor(MxStillPresenter* p_presenter, MxU8 p_color, MxU8* p_colors // FUNCTION: BETA10 0x1002b9b9 void HistoryBook::ReadyWorld() { - undefined4 dummy; + undefined4 dummy1; LegoWorld::ReadyWorld(); GameState()->m_history.WriteScoreHistory(); @@ -143,21 +143,25 @@ void HistoryBook::ReadyWorld() MxS32 scoreboxX = 1; MxS32 scoreboxRow = 5; - MxS32 scoreState = 0; - for (; scoreboxRow > 0; scoreboxRow--) { + for (MxS32 scoreState = 0; scoreState < 5; scoreState++) { for (MxS32 scoreBoxColumn = 0, scoreboxY = 1; scoreBoxColumn < 5; scoreBoxColumn++, scoreboxY += 5) { // SetColor(*scorebox, score->m_scores[scoreState][scoreBoxColumn], scoreColors, scoreboxX, scoreboxY); // inline void SetColor(MxStillPresenter* p_presenter, MxU8 p_color, MxU8* p_colors, MxS32 p_x, MxS32 p_y) MxU8 color = score->m_scores[scoreState][scoreBoxColumn]; + // this->m_scores if (color) { for (MxS32 lax = 0; lax < 4; lax++) { +#ifdef BETA10 + memset(m_scores[i]->GetBitmapStart(scoreboxX, scoreboxY + lax), scoreColors[color - 1], 4); +#else if ((*scorebox)->GetAlphaMask() != NULL) { memset(NULL, scoreColors[color - 1], 4); } else { - memset((*scorebox)->GetBitmap()->GetStart(scoreboxX, scoreboxY + lax), scoreColors[color - 1], 4); + memset(m_scores[i]->GetBitmap()->GetStart(scoreboxX, scoreboxY + lax), scoreColors[color - 1], 4); } +#endif } } } @@ -179,8 +183,9 @@ void HistoryBook::ReadyWorld() MxS16 j = letterIndex++; - assert(m_name[i][j]); m_name[i][j] = m_alphabet[letter]->Clone(); + + assert(m_name[i][j]); m_name[i][j]->Enable(TRUE); m_name[i][j]->SetTickleState(MxPresenter::e_repeating); m_name[i][j]->SetPosition(scoreX, scoreY); @@ -190,7 +195,9 @@ void HistoryBook::ReadyWorld() scoreY += 0x1b; } +#ifndef BETA10 PlayMusic(JukeboxScript::c_InformationCenter_Music); +#endif } // FUNCTION: LEGO1 0x10082a10 diff --git a/LEGO1/omni/include/mxvideopresenter.h b/LEGO1/omni/include/mxvideopresenter.h index 907ddc0e..a1794aec 100644 --- a/LEGO1/omni/include/mxvideopresenter.h +++ b/LEGO1/omni/include/mxvideopresenter.h @@ -104,6 +104,9 @@ class MxVideoPresenter : public MxMediaPresenter { MxBitmap* GetBitmap() { return m_frameBitmap; } AlphaMask* GetAlphaMask() { return m_alpha; } + // FUNCTION: BETA10 0x1002c2e0 + MxU8* GetBitmapStart(MxS32 p_left, MxS32 p_top) { return m_frameBitmap->GetStart(p_left, p_top); } + void SetBit0(BOOL p_e) { m_flags.m_bit0 = p_e; } void SetBit1(BOOL p_e) { m_flags.m_bit1 = p_e; } void SetBit2(BOOL p_e) { m_flags.m_bit2 = p_e; }