Merge branch 'master' into pr-mxtransitionmanager-submitcopyrect

This commit is contained in:
Regan Green 2023-10-04 09:22:49 -04:00
commit 279b25e501
4 changed files with 32 additions and 7 deletions

View File

@ -312,3 +312,9 @@ MxBool LegoOmni::vtable40()
// FIXME: Stub
return 0;
}
// OFFSET: LEGO1 0x100157a0
LegoWorld *GetCurrentWorld()
{
return LegoOmni::GetInstance()->GetCurrentWorld();
}

View File

@ -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

View File

@ -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

View File

@ -43,7 +43,7 @@ class MxTransitionManager : public MxCore
MxResult StartTransition(TransitionType p_animationType, MxS32 p_speed, MxBool p_doCopy, MxBool p_playMusicInAnim);
private:
void EndTransition(MxBool);
void EndTransition(MxBool p_notifyWorld);
void Transition_Dissolve();
void SubmitCopyRect(DDSURFACEDESC &);
void SetupCopyRect(DDSURFACEDESC &);
@ -61,8 +61,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