mirror of
https://github.com/isledecomp/isle-portable.git
synced 2024-11-26 09:28:01 -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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// OFFSET: LEGO1 0x100ba640 STUB
|
||||||
|
void MxDisplaySurface::FUN_100ba640()
|
||||||
|
{
|
||||||
|
// TODO
|
||||||
|
}
|
||||||
|
|
|
@ -19,6 +19,8 @@ class MxDisplaySurface : public MxCore
|
||||||
|
|
||||||
void Reset();
|
void Reset();
|
||||||
|
|
||||||
|
void FUN_100ba640();
|
||||||
|
|
||||||
virtual MxResult Init(MxVideoParam &p_videoParam, LPDIRECTDRAWSURFACE p_ddSurface1, LPDIRECTDRAWSURFACE p_ddSurface2, LPDIRECTDRAWCLIPPER p_ddClipper);
|
virtual MxResult Init(MxVideoParam &p_videoParam, LPDIRECTDRAWSURFACE p_ddSurface1, LPDIRECTDRAWSURFACE p_ddSurface2, LPDIRECTDRAWCLIPPER p_ddClipper);
|
||||||
virtual MxResult Create(MxVideoParam &p_videoParam);
|
virtual MxResult Create(MxVideoParam &p_videoParam);
|
||||||
virtual void Clear();
|
virtual void Clear();
|
||||||
|
|
|
@ -33,12 +33,36 @@ MxTransitionManager::~MxTransitionManager()
|
||||||
TickleManager()->UnregisterClient(this);
|
TickleManager()->UnregisterClient(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
// OFFSET: LEGO1 0x1004bac0 STUB
|
// OFFSET: LEGO1 0x1004bac0
|
||||||
MxResult MxTransitionManager::Tickle()
|
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
|
// OFFSET: LEGO1 0x1004bc30
|
||||||
|
@ -192,6 +216,33 @@ MxResult MxTransitionManager::StartTransition(TransitionType p_animationType, Mx
|
||||||
return FAILURE;
|
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
|
// OFFSET: LEGO1 0x1004c170
|
||||||
void MxTransitionManager::Transition_Wipe()
|
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);
|
MxResult StartTransition(TransitionType p_animationType, MxS32 p_speed, MxBool p_doCopy, MxBool p_playMusicInAnim);
|
||||||
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void EndTransition(MxBool p_notifyWorld);
|
void EndTransition(MxBool p_notifyWorld);
|
||||||
void Transition_Dissolve();
|
void Transition_Dissolve();
|
||||||
|
void Transition_Pixelation();
|
||||||
void Transition_Wipe();
|
void Transition_Wipe();
|
||||||
|
void Transition_Windows();
|
||||||
|
void Transition_Broken();
|
||||||
|
|
||||||
|
void FUN_1004bcf0();
|
||||||
|
|
||||||
void SubmitCopyRect(LPDDSURFACEDESC ddsc);
|
void SubmitCopyRect(LPDDSURFACEDESC ddsc);
|
||||||
void SetupCopyRect(LPDDSURFACEDESC ddsc);
|
void SetupCopyRect(LPDDSURFACEDESC ddsc);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue