mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-26 01:17:55 -05:00
MxTransitionManager::Tickle() & FUN_1004bcf0 (#168)
* implement MxTransitionManager::Tickle() * improved accuracy of MxTransitionManager::Tickle * implement MxTransitionManager::FUN_1004bcf0 * improved accuracy of FUN_1004bcf0 * move/rename stubbed transition methods --------- Co-authored-by: MattKC <34096995+itsmattkc@users.noreply.github.com>
This commit is contained in:
parent
e767d6524e
commit
8e87b5b4c8
4 changed files with 69 additions and 3 deletions
|
@ -230,3 +230,9 @@ undefined4 MxDisplaySurface::vtable44(undefined4, undefined4*, undefined4, undef
|
|||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100ba640 STUB
|
||||
void MxDisplaySurface::FUN_100ba640()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
|
|
@ -19,6 +19,8 @@ class MxDisplaySurface : public MxCore
|
|||
|
||||
void Reset();
|
||||
|
||||
void FUN_100ba640();
|
||||
|
||||
virtual MxResult Init(MxVideoParam &p_videoParam, LPDIRECTDRAWSURFACE p_ddSurface1, LPDIRECTDRAWSURFACE p_ddSurface2, LPDIRECTDRAWCLIPPER p_ddClipper);
|
||||
virtual MxResult Create(MxVideoParam &p_videoParam);
|
||||
virtual void Clear();
|
||||
|
|
|
@ -33,12 +33,36 @@ MxTransitionManager::~MxTransitionManager()
|
|||
TickleManager()->UnregisterClient(this);
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1004bac0 STUB
|
||||
// OFFSET: LEGO1 0x1004bac0
|
||||
MxResult MxTransitionManager::Tickle()
|
||||
{
|
||||
// TODO
|
||||
if (this->m_animationSpeed + this->m_systemTime > timeGetTime()) {
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
return 0;
|
||||
this->m_systemTime = timeGetTime();
|
||||
|
||||
switch (this->m_transitionType) {
|
||||
case NO_ANIMATION:
|
||||
FUN_1004bcf0();
|
||||
break;
|
||||
case DISSOLVE:
|
||||
Transition_Dissolve();
|
||||
break;
|
||||
case PIXELATION:
|
||||
Transition_Pixelation();
|
||||
break;
|
||||
case SCREEN_WIPE:
|
||||
Transition_Wipe();
|
||||
break;
|
||||
case WINDOWS:
|
||||
Transition_Windows();
|
||||
break;
|
||||
case BROKEN:
|
||||
Transition_Broken();
|
||||
break;
|
||||
}
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1004bc30
|
||||
|
@ -192,6 +216,33 @@ MxResult MxTransitionManager::StartTransition(TransitionType p_animationType, Mx
|
|||
return FAILURE;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1004bcf0
|
||||
void MxTransitionManager::FUN_1004bcf0()
|
||||
{
|
||||
LegoVideoManager *videoManager = VideoManager();
|
||||
videoManager->GetDisplaySurface()->FUN_100ba640();
|
||||
EndTransition(TRUE);
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1004bed0 STUB
|
||||
void MxTransitionManager::Transition_Pixelation()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
|
||||
// OFFSET: LEGO1 0x1004c270 STUB
|
||||
void MxTransitionManager::Transition_Windows()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1004c3e0 STUB
|
||||
void MxTransitionManager::Transition_Broken()
|
||||
{
|
||||
// TODO
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1004c170
|
||||
void MxTransitionManager::Transition_Wipe()
|
||||
{
|
||||
|
|
|
@ -42,10 +42,17 @@ class MxTransitionManager : public MxCore
|
|||
|
||||
MxResult StartTransition(TransitionType p_animationType, MxS32 p_speed, MxBool p_doCopy, MxBool p_playMusicInAnim);
|
||||
|
||||
|
||||
private:
|
||||
void EndTransition(MxBool p_notifyWorld);
|
||||
void Transition_Dissolve();
|
||||
void Transition_Pixelation();
|
||||
void Transition_Wipe();
|
||||
void Transition_Windows();
|
||||
void Transition_Broken();
|
||||
|
||||
void FUN_1004bcf0();
|
||||
|
||||
void SubmitCopyRect(LPDDSURFACEDESC ddsc);
|
||||
void SetupCopyRect(LPDDSURFACEDESC ddsc);
|
||||
|
||||
|
|
Loading…
Reference in a new issue