mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-26 09:38:14 -05:00
Implement MxTransitionManager::EndTransition and GetCurrentWorld (#159)
* Implement MxTransitionManager::EndTransition and GetCurrentWorld * Match EndTransition --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
parent
129e8d6373
commit
6da912e932
4 changed files with 32 additions and 7 deletions
|
@ -312,3 +312,9 @@ MxBool LegoOmni::vtable40()
|
|||
// FIXME: Stub
|
||||
return 0;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x100157a0
|
||||
LegoWorld *GetCurrentWorld()
|
||||
{
|
||||
return LegoOmni::GetInstance()->GetCurrentWorld();
|
||||
}
|
||||
|
|
|
@ -75,12 +75,16 @@ class LegoOmni : public MxOmni
|
|||
LegoGameState *GetGameState() { return m_gameState; }
|
||||
LegoNavController *GetNavController() { return m_navController; }
|
||||
MxTransitionManager *GetTransitionManager() { return m_transitionManager; }
|
||||
LegoWorld *GetCurrentWorld() { return m_currentWorld; }
|
||||
|
||||
private:
|
||||
int m_unk68;
|
||||
int m_unk6c;
|
||||
LegoInputManager *m_inputMgr; // 0x70
|
||||
char m_unk74[0x10];
|
||||
undefined4 m_unk74;
|
||||
undefined4 m_unk78;
|
||||
LegoWorld *m_currentWorld;
|
||||
undefined4 m_unk80;
|
||||
LegoNavController *m_navController; // 0x84
|
||||
Isle* m_isle; // 0x88
|
||||
char m_unk8c[0x4];
|
||||
|
@ -115,5 +119,6 @@ LegoBuildingManager* BuildingManager();
|
|||
Isle* GetIsle();
|
||||
LegoPlantManager* PlantManager();
|
||||
MxBool KeyValueStringParse(char *, const char *, const char *);
|
||||
LegoWorld *GetCurrentWorld();
|
||||
|
||||
#endif // LEGOOMNI_H
|
||||
|
|
|
@ -41,10 +41,24 @@ MxResult MxTransitionManager::Tickle()
|
|||
return 0;
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1004bc30 STUB
|
||||
void MxTransitionManager::EndTransition(MxBool)
|
||||
// OFFSET: LEGO1 0x1004bc30
|
||||
void MxTransitionManager::EndTransition(MxBool p_notifyWorld)
|
||||
{
|
||||
// TODO
|
||||
if (m_transitionType != NOT_TRANSITIONING) {
|
||||
m_transitionType = NOT_TRANSITIONING;
|
||||
|
||||
m_unk20.bit0 = FALSE;
|
||||
|
||||
TickleManager()->UnregisterClient(this);
|
||||
|
||||
if (p_notifyWorld) {
|
||||
LegoWorld *world = GetCurrentWorld();
|
||||
|
||||
if (world) {
|
||||
world->Notify(MxParam(0x18, this));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// OFFSET: LEGO1 0x1004bd10
|
||||
|
|
|
@ -89,7 +89,7 @@ class MxTransitionManager : public MxCore
|
|||
MxResult StartTransition(TransitionType p_animationType, MxS32 p_speed, MxBool p_unk, MxBool p_playMusicInAnim);
|
||||
|
||||
private:
|
||||
void EndTransition(MxBool);
|
||||
void EndTransition(MxBool p_notifyWorld);
|
||||
void Transition_Dissolve();
|
||||
void FUN_1004c4d0(DDSURFACEDESC &);
|
||||
void FUN_1004c580(DDSURFACEDESC &);
|
||||
|
@ -109,8 +109,8 @@ class MxTransitionManager : public MxCore
|
|||
MxU16 m_animationTimer;
|
||||
MxU16 m_columnOrder[640]; // 0x36
|
||||
MxU16 m_randomShift[480]; // 0x536
|
||||
MxULong m_systemTime;
|
||||
MxS32 m_animationSpeed;
|
||||
MxULong m_systemTime; // 0x8f8
|
||||
MxS32 m_animationSpeed; // 0x8fc
|
||||
};
|
||||
|
||||
#endif // MXTRANSITIONMANAGER_H
|
||||
|
|
Loading…
Reference in a new issue