From b840e0f922d316b28bf87d2caa34b4cb9e9e0853 Mon Sep 17 00:00:00 2001 From: Ramen2X <64166386+Ramen2X@users.noreply.github.com> Date: Sun, 1 Oct 2023 21:22:36 -0400 Subject: [PATCH] implement MxTransitionManager::FUN_1004bcf0 --- LEGO1/mxdisplaysurface.cpp | 6 ++++++ LEGO1/mxdisplaysurface.h | 2 ++ LEGO1/mxtransitionmanager.cpp | 12 ++++++++++-- LEGO1/mxtransitionmanager.h | 2 ++ 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/LEGO1/mxdisplaysurface.cpp b/LEGO1/mxdisplaysurface.cpp index 4f02aeb6..f2a4aa2f 100644 --- a/LEGO1/mxdisplaysurface.cpp +++ b/LEGO1/mxdisplaysurface.cpp @@ -230,3 +230,9 @@ undefined4 MxDisplaySurface::vtable44(undefined4, undefined4*, undefined4, undef { return 0; } + +// OFFSET: LEGO1 0x100ba640 STUB +void MxDisplaySurface::FUN_100ba640(MxDisplaySurface *p_displaySurface) +{ + // TODO +} diff --git a/LEGO1/mxdisplaysurface.h b/LEGO1/mxdisplaysurface.h index 4c2c3866..1d5f4ce1 100644 --- a/LEGO1/mxdisplaysurface.h +++ b/LEGO1/mxdisplaysurface.h @@ -19,6 +19,8 @@ class MxDisplaySurface : public MxCore void Reset(); + static void FUN_100ba640(MxDisplaySurface *p_displaySurface); + virtual MxResult Init(MxVideoParam &p_videoParam, LPDIRECTDRAWSURFACE p_ddSurface1, LPDIRECTDRAWSURFACE p_ddSurface2, LPDIRECTDRAWCLIPPER p_ddClipper); virtual MxResult Create(MxVideoParam &p_videoParam); virtual void Clear(); diff --git a/LEGO1/mxtransitionmanager.cpp b/LEGO1/mxtransitionmanager.cpp index eb18d181..368fd8e7 100644 --- a/LEGO1/mxtransitionmanager.cpp +++ b/LEGO1/mxtransitionmanager.cpp @@ -98,12 +98,20 @@ MxResult MxTransitionManager::StartTransition(TransitionType p_animationType, Mx return FAILURE; } -// OFFSET: LEGO1 0x1004bcf0 STUB -void MxTransitionManager::FUN_1004bcf0() +// OFFSET: LEGO1 0x1004bc30 STUB +void MxTransitionManager::EndTransition(MxBool p_unk) { // TODO } +// OFFSET: LEGO1 0x1004bcf0 +void MxTransitionManager::FUN_1004bcf0() +{ + LegoVideoManager *videoManager = VideoManager(); + MxDisplaySurface::FUN_100ba640(videoManager->GetDisplaySurface()); + EndTransition(TRUE); +} + // OFFSET: LEGO1 0x1004bd10 STUB void MxTransitionManager::FUN_1004bd10() { diff --git a/LEGO1/mxtransitionmanager.h b/LEGO1/mxtransitionmanager.h index 00d87792..b42438a5 100644 --- a/LEGO1/mxtransitionmanager.h +++ b/LEGO1/mxtransitionmanager.h @@ -42,6 +42,8 @@ class MxTransitionManager : public MxCore MxResult StartTransition(TransitionType p_animationType, MxS32 p_speed, undefined p_unk, MxBool p_playMusicInAnim); + void MxTransitionManager::EndTransition(MxBool p_unk); + void FUN_1004bcf0(); void FUN_1004bd10(); void FUN_1004bed0();