Implement MxTransitionManager::SubmitCopyRect (#160)

* Implement MxTransitionManager::SubmitCopyRect

* MxTransitionManager::SubmitCopyRect Amendments

* Fix MxTransitionManager::EndTransition

* Fix MxDSAction::SetLoopCount
This commit is contained in:
Regan Green
2023-10-04 09:43:34 -04:00
committed by GitHub
parent 6da912e932
commit 7c7311ea5e
4 changed files with 77 additions and 95 deletions

View File

@@ -5,52 +5,6 @@
#include "mxvideopresenter.h"
#include "legoomni.h"
class MxTransitionManagerUnknownSubclass2
{
public:
virtual ~MxTransitionManagerUnknownSubclass2(){}
undefined m_unk04[0x2c];
undefined4 m_unk30;
undefined4 m_unk34;
undefined4 m_unk38;
undefined4 m_unk3c;
};
// TODO: Don't know what this is yet
class MxTransitionManagerUnknownSubclass1
{
public:
virtual ~MxTransitionManagerUnknownSubclass1(){}
virtual void vtable04();
virtual void vtable08();
virtual void vtable0c();
virtual void vtable10();
virtual void vtable14();
virtual void vtable18();
virtual void vtable1c();
virtual void vtable20();
virtual void vtable24();
virtual void vtable28();
virtual void vtable2c();
virtual void vtable30();
virtual void vtable34();
virtual void vtable38();
virtual void vtable3c();
virtual void vtable40();
virtual void vtable44();
virtual void vtable48();
virtual void vtable4c();
virtual void vtable50();
virtual void vtable54(undefined4 p_unk1);
undefined m_unk04[0x18];
MxTransitionManagerUnknownSubclass2 *m_unk1c;
};
// VTABLE 0x100d7ea0
class MxTransitionManager : public MxCore
{
@@ -86,21 +40,19 @@ public:
BROKEN // Unknown what this is supposed to be, it locks the game up
};
MxResult StartTransition(TransitionType p_animationType, MxS32 p_speed, MxBool p_unk, MxBool p_playMusicInAnim);
MxResult StartTransition(TransitionType p_animationType, MxS32 p_speed, MxBool p_doCopy, MxBool p_playMusicInAnim);
private:
void EndTransition(MxBool p_notifyWorld);
void Transition_Dissolve();
void FUN_1004c4d0(DDSURFACEDESC &);
void FUN_1004c580(DDSURFACEDESC &);
void SubmitCopyRect(DDSURFACEDESC &);
void SetupCopyRect(DDSURFACEDESC &);
MxTransitionManagerUnknownSubclass1 *m_unk08;
undefined4 m_unk0c;
undefined4 m_unk10;
undefined4 m_unk14;
undefined4 m_unk18;
void *m_unk1c;
flag_bitfield m_unk20;
MxVideoPresenter *m_waitIndicator;
RECT m_copyRect;
void *m_copyBuffer;
flag_bitfield m_copyFlags;
undefined4 m_unk24;
flag_bitfield m_unk28;