mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-22 16:04:17 +00:00
Clear unknowns in LegoWorld
(#1674)
This commit is contained in:
@@ -106,7 +106,7 @@ public:
|
||||
MxResult Tickle() override; // vtable+0x08
|
||||
|
||||
// FUNCTION: LEGO1 0x10072500
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
MxBool WaitForTransition() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
// FUNCTION: LEGO1 0x10072510
|
||||
// FUNCTION: BETA10 0x10017550
|
||||
|
@@ -18,7 +18,7 @@ public:
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
|
||||
// FUNCTION: LEGO1 0x10017f10
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
MxBool WaitForTransition() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
// FUNCTION: LEGO1 0x10017f20
|
||||
// FUNCTION: BETA10 0x10028130
|
||||
|
@@ -75,7 +75,7 @@ public:
|
||||
MxResult Tickle() override; // vtable+0x08
|
||||
|
||||
// FUNCTION: LEGO1 0x10004770
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
MxBool WaitForTransition() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
// FUNCTION: LEGO1 0x10004780
|
||||
// FUNCTION: BETA10 0x10029d40
|
||||
|
@@ -79,7 +79,7 @@ public:
|
||||
MxResult Tickle() override; // vtable+0x08
|
||||
|
||||
// FUNCTION: LEGO1 0x100746a0
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
MxBool WaitForTransition() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
// FUNCTION: LEGO1 0x100746b0
|
||||
// FUNCTION: BETA10 0x1002e1a0
|
||||
|
@@ -141,7 +141,7 @@ public:
|
||||
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void ReadyWorld() override; // vtable+0x50
|
||||
MxBool VTable0x5c() override; // vtable+0x5c
|
||||
MxBool WaitForTransition() override; // vtable+0x5c
|
||||
MxBool Escape() override; // vtable+0x64
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
|
@@ -17,7 +17,7 @@ public:
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
|
||||
// FUNCTION: LEGO1 0x100377a0
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
MxBool WaitForTransition() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
// FUNCTION: LEGO1 0x100377b0
|
||||
// FUNCTION: BETA10 0x10032790
|
||||
|
@@ -134,7 +134,7 @@ public:
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
|
||||
// FUNCTION: LEGO1 0x10030900
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
MxBool WaitForTransition() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
// FUNCTION: LEGO1 0x10030910
|
||||
// FUNCTION: BETA10 0x10035d70
|
||||
|
@@ -60,7 +60,7 @@ public:
|
||||
MxResult Tickle() override; // vtable+0x08
|
||||
|
||||
// FUNCTION: LEGO1 0x1005d6e0
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
MxBool WaitForTransition() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
// FUNCTION: LEGO1 0x1005d6f0
|
||||
// FUNCTION: BETA10 0x100388d0
|
||||
|
@@ -71,7 +71,7 @@ public:
|
||||
void ReadyWorld() override; // vtable+0x50
|
||||
|
||||
// FUNCTION: LEGO1 0x1004fe10
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
MxBool WaitForTransition() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
void VTable0x60() override; // vtable+0x60
|
||||
MxBool Escape() override; // vtable+0x64
|
||||
|
@@ -94,7 +94,7 @@ public:
|
||||
|
||||
// FUNCTION: LEGO1 0x10022930
|
||||
// FUNCTION: BETA10 0x10070070
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
MxBool WaitForTransition() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
// FUNCTION: LEGO1 0x10022940
|
||||
// FUNCTION: BETA10 0x10070090
|
||||
|
@@ -153,7 +153,7 @@ public:
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1000dae0
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
MxBool WaitForTransition() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
void Enable(MxBool p_enable) override; // vtable+0x68
|
||||
|
||||
|
@@ -47,18 +47,18 @@ public:
|
||||
LegoWorld();
|
||||
~LegoWorld() override; // vtable+0x00
|
||||
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
MxResult Tickle() override; // vtable+0x08
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
|
||||
virtual void ReadyWorld(); // vtable+0x50
|
||||
virtual LegoCameraController* VTable0x54(); // vtable+0x54
|
||||
virtual void Add(MxCore* p_object); // vtable+0x58
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
MxResult Tickle() override; // vtable+0x08
|
||||
MxResult Create(MxDSAction& p_dsAction) override; // vtable+0x18
|
||||
void Destroy(MxBool p_fromDestructor) override; // vtable+0x1c
|
||||
virtual void ReadyWorld(); // vtable+0x50
|
||||
virtual LegoCameraController* InitializeCameraController(); // vtable+0x54
|
||||
virtual void Add(MxCore* p_object); // vtable+0x58
|
||||
|
||||
// The BETA10 match could also be LegoWorld::Escape(), only the child classes might be able to tell
|
||||
// FUNCTION: LEGO1 0x1001d670
|
||||
// FUNCTION: BETA10 0x10017530
|
||||
virtual MxBool VTable0x5c() { return FALSE; } // vtable+0x5c
|
||||
virtual MxBool WaitForTransition() { return FALSE; } // vtable+0x5c
|
||||
|
||||
// FUNCTION: LEGO1 0x100010a0
|
||||
virtual void VTable0x60() {} // vtable+0x60
|
||||
@@ -102,8 +102,8 @@ public:
|
||||
);
|
||||
void RemoveActor(LegoPathActor* p_actor);
|
||||
MxBool ActorExists(LegoPathActor* p_actor);
|
||||
void FUN_1001fda0(LegoAnimPresenter* p_presenter);
|
||||
void FUN_1001fe90(LegoAnimPresenter* p_presenter);
|
||||
void AddPresenterIfInRange(LegoAnimPresenter* p_presenter);
|
||||
void RemovePresenterFromBoundaries(LegoAnimPresenter* p_presenter);
|
||||
LegoPathBoundary* FindPathBoundary(const char* p_name);
|
||||
void AddPath(LegoPathController* p_controller);
|
||||
MxResult GetCurrPathInfo(LegoPathBoundary** p_boundaries, MxS32& p_numL);
|
||||
@@ -115,7 +115,7 @@ public:
|
||||
|
||||
LegoEntityList* GetEntityList() { return m_entityList; }
|
||||
LegoOmni::World GetWorldId() { return m_worldId; }
|
||||
MxBool GetUnknown0xd0Empty() { return m_set0xd0.empty(); }
|
||||
MxBool NoDisabledObjects() { return m_disabledObjects.empty(); }
|
||||
list<LegoROI*>& GetROIList() { return m_roiList; }
|
||||
LegoHideAnimPresenter* GetHideAnimPresenter() { return m_hideAnim; }
|
||||
|
||||
@@ -131,9 +131,9 @@ protected:
|
||||
LegoEntityList* m_entityList; // 0x9c
|
||||
LegoCacheSoundList* m_cacheSoundList; // 0xa0
|
||||
MxBool m_destroyed; // 0xa4
|
||||
MxCoreSet m_set0xa8; // 0xa8
|
||||
MxCoreSet m_objects; // 0xa8
|
||||
MxPresenterList m_controlPresenters; // 0xb8
|
||||
MxCoreSet m_set0xd0; // 0xd0
|
||||
MxCoreSet m_disabledObjects; // 0xd0
|
||||
list<LegoROI*> m_roiList; // 0xe0
|
||||
LegoOmni::World m_worldId; // 0xec
|
||||
|
||||
|
@@ -65,7 +65,7 @@ public:
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
|
||||
// FUNCTION: LEGO1 0x1005e1d0
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
MxBool WaitForTransition() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
// FUNCTION: LEGO1 0x1005e1e0
|
||||
// FUNCTION: BETA10 0x100f0c50
|
||||
|
@@ -60,7 +60,7 @@ public:
|
||||
MxLong Notify(MxParam& p_param) override; // vtable+0x04
|
||||
|
||||
// FUNCTION: LEGO1 0x100010b0
|
||||
MxBool VTable0x5c() override { return TRUE; } // vtable+0x5c
|
||||
MxBool WaitForTransition() override { return TRUE; } // vtable+0x5c
|
||||
|
||||
// FUNCTION: LEGO1 0x100010c0
|
||||
// FUNCTION: BETA10 0x100f4f20
|
||||
|
@@ -835,7 +835,7 @@ inline void LoadIsle()
|
||||
{
|
||||
LegoWorld* world = FindWorld(*g_isleScript, IsleScript::c__Isle);
|
||||
if (world != NULL) {
|
||||
if (!world->GetUnknown0xd0Empty()) {
|
||||
if (!world->NoDisabledObjects()) {
|
||||
NotificationManager()->Send(world, MxNotificationParam(c_notificationType20, NULL));
|
||||
}
|
||||
}
|
||||
|
@@ -70,7 +70,7 @@ MxResult LegoWorld::Create(MxDSAction& p_dsAction)
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
if (!VTable0x54()) {
|
||||
if (!InitializeCameraController()) {
|
||||
return FAILURE;
|
||||
}
|
||||
|
||||
@@ -130,10 +130,10 @@ void LegoWorld::Destroy(MxBool p_fromDestructor)
|
||||
}
|
||||
}
|
||||
|
||||
while (!m_set0xa8.empty()) {
|
||||
MxCoreSet::iterator it = m_set0xa8.begin();
|
||||
while (!m_objects.empty()) {
|
||||
MxCoreSet::iterator it = m_objects.begin();
|
||||
MxCore* object = *it;
|
||||
m_set0xa8.erase(it);
|
||||
m_objects.erase(it);
|
||||
|
||||
if (object->IsA("MxPresenter")) {
|
||||
MxPresenter* presenter = (MxPresenter*) object;
|
||||
@@ -161,7 +161,7 @@ void LegoWorld::Destroy(MxBool p_fromDestructor)
|
||||
}
|
||||
}
|
||||
|
||||
if (m_worldId != LegoOmni::e_undefined && m_set0xd0.empty()) {
|
||||
if (m_worldId != LegoOmni::e_undefined && m_disabledObjects.empty()) {
|
||||
PlantManager()->Reset(m_worldId);
|
||||
BuildingManager()->Reset();
|
||||
}
|
||||
@@ -229,7 +229,7 @@ MxLong LegoWorld::Notify(MxParam& p_param)
|
||||
|
||||
// FUNCTION: LEGO1 0x1001f630
|
||||
// FUNCTION: BETA10 0x100d9fc2
|
||||
LegoCameraController* LegoWorld::VTable0x54()
|
||||
LegoCameraController* LegoWorld::InitializeCameraController()
|
||||
{
|
||||
MxBool success = FALSE;
|
||||
|
||||
@@ -352,7 +352,7 @@ MxBool LegoWorld::ActorExists(LegoPathActor* p_actor)
|
||||
|
||||
// FUNCTION: LEGO1 0x1001fda0
|
||||
// FUNCTION: BETA10 0x100da621
|
||||
void LegoWorld::FUN_1001fda0(LegoAnimPresenter* p_presenter)
|
||||
void LegoWorld::AddPresenterIfInRange(LegoAnimPresenter* p_presenter)
|
||||
{
|
||||
LegoPathControllerListCursor cursor(&m_pathControllerList);
|
||||
LegoPathController* controller;
|
||||
@@ -364,7 +364,7 @@ void LegoWorld::FUN_1001fda0(LegoAnimPresenter* p_presenter)
|
||||
|
||||
// FUNCTION: LEGO1 0x1001fe90
|
||||
// FUNCTION: BETA10 0x100da6b5
|
||||
void LegoWorld::FUN_1001fe90(LegoAnimPresenter* p_presenter)
|
||||
void LegoWorld::RemovePresenterFromBoundaries(LegoAnimPresenter* p_presenter)
|
||||
{
|
||||
LegoPathControllerListCursor cursor(&m_pathControllerList);
|
||||
LegoPathController* controller;
|
||||
@@ -481,25 +481,25 @@ void LegoWorld::Add(MxCore* p_object)
|
||||
}
|
||||
#endif
|
||||
else {
|
||||
MxCoreSet::iterator it = m_set0xa8.find(p_object);
|
||||
if (it == m_set0xa8.end()) {
|
||||
MxCoreSet::iterator it = m_objects.find(p_object);
|
||||
if (it == m_objects.end()) {
|
||||
#ifdef BETA10
|
||||
if (p_object->IsA("MxPresenter")) {
|
||||
assert(static_cast<MxPresenter*>(p_object)->GetAction());
|
||||
}
|
||||
#endif
|
||||
|
||||
m_set0xa8.insert(p_object);
|
||||
m_objects.insert(p_object);
|
||||
}
|
||||
else {
|
||||
assert(0);
|
||||
}
|
||||
}
|
||||
|
||||
if (m_set0xd0.size() != 0 && p_object->IsA("MxPresenter")) {
|
||||
if (m_disabledObjects.size() != 0 && p_object->IsA("MxPresenter")) {
|
||||
if (((MxPresenter*) p_object)->IsEnabled()) {
|
||||
((MxPresenter*) p_object)->Enable(FALSE);
|
||||
m_set0xd0.insert(p_object);
|
||||
m_disabledObjects.insert(p_object);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -557,15 +557,15 @@ void LegoWorld::Remove(MxCore* p_object)
|
||||
}
|
||||
#endif
|
||||
else {
|
||||
it = m_set0xa8.find(p_object);
|
||||
if (it != m_set0xa8.end()) {
|
||||
m_set0xa8.erase(it);
|
||||
it = m_objects.find(p_object);
|
||||
if (it != m_objects.end()) {
|
||||
m_objects.erase(it);
|
||||
}
|
||||
}
|
||||
|
||||
it = m_set0xd0.find(p_object);
|
||||
if (it != m_set0xd0.end()) {
|
||||
m_set0xd0.erase(it);
|
||||
it = m_disabledObjects.find(p_object);
|
||||
if (it != m_disabledObjects.end()) {
|
||||
m_disabledObjects.erase(it);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -617,7 +617,7 @@ MxCore* LegoWorld::Find(const char* p_class, const char* p_name)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
for (MxCoreSet::iterator i = m_set0xa8.begin(); i != m_set0xa8.end(); i++) {
|
||||
for (MxCoreSet::iterator i = m_objects.begin(); i != m_objects.end(); i++) {
|
||||
if ((*i)->IsA(p_class) && (*i)->IsA("MxPresenter")) {
|
||||
assert(((MxPresenter*) (*i))->GetAction());
|
||||
|
||||
@@ -664,7 +664,7 @@ MxCore* LegoWorld::Find(const MxAtomId& p_atom, MxS32 p_entityId)
|
||||
}
|
||||
}
|
||||
|
||||
for (MxCoreSet::iterator it = m_set0xa8.begin(); it != m_set0xa8.end(); it++) {
|
||||
for (MxCoreSet::iterator it = m_objects.begin(); it != m_objects.end(); it++) {
|
||||
MxCore* core = *it;
|
||||
|
||||
if (core->IsA("MxPresenter")) {
|
||||
@@ -686,7 +686,7 @@ void LegoWorld::Enable(MxBool p_enable)
|
||||
{
|
||||
MxCoreSet::iterator it;
|
||||
|
||||
if (p_enable && m_set0xd0.size() != 0) {
|
||||
if (p_enable && m_disabledObjects.size() != 0) {
|
||||
if (CurrentWorld() == this) {
|
||||
return;
|
||||
}
|
||||
@@ -709,8 +709,8 @@ void LegoWorld::Enable(MxBool p_enable)
|
||||
}
|
||||
}
|
||||
|
||||
while (m_set0xd0.size() != 0) {
|
||||
it = m_set0xd0.begin();
|
||||
while (m_disabledObjects.size() != 0) {
|
||||
it = m_disabledObjects.begin();
|
||||
|
||||
if ((*it)->IsA("MxPresenter")) {
|
||||
((MxPresenter*) *it)->Enable(TRUE);
|
||||
@@ -719,7 +719,7 @@ void LegoWorld::Enable(MxBool p_enable)
|
||||
((LegoPathController*) *it)->Enable(TRUE);
|
||||
}
|
||||
|
||||
m_set0xd0.erase(it);
|
||||
m_disabledObjects.erase(it);
|
||||
}
|
||||
|
||||
SetCurrentWorld(this);
|
||||
@@ -743,7 +743,7 @@ void LegoWorld::Enable(MxBool p_enable)
|
||||
SetIsWorldActive(TRUE);
|
||||
#endif
|
||||
}
|
||||
else if (!p_enable && m_set0xd0.size() == 0) {
|
||||
else if (!p_enable && m_disabledObjects.size() == 0) {
|
||||
MxPresenter* presenter;
|
||||
LegoPathController* controller;
|
||||
LegoPathActor* actor = UserActor();
|
||||
@@ -753,7 +753,7 @@ void LegoWorld::Enable(MxBool p_enable)
|
||||
}
|
||||
|
||||
AnimationManager()->Reset(FALSE);
|
||||
m_set0xd0.insert(this);
|
||||
m_disabledObjects.insert(this);
|
||||
|
||||
if (m_worldId != LegoOmni::e_undefined) {
|
||||
PlantManager()->Reset(m_worldId);
|
||||
@@ -766,15 +766,15 @@ void LegoWorld::Enable(MxBool p_enable)
|
||||
|
||||
while (controlPresenterCursor.Next(presenter)) {
|
||||
if (presenter->IsEnabled()) {
|
||||
m_set0xd0.insert(presenter);
|
||||
m_disabledObjects.insert(presenter);
|
||||
presenter->Enable(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
for (MxCoreSet::iterator it = m_set0xa8.begin(); it != m_set0xa8.end(); it++) {
|
||||
for (MxCoreSet::iterator it = m_objects.begin(); it != m_objects.end(); it++) {
|
||||
if ((*it)->IsA("LegoActionControlPresenter") ||
|
||||
((*it)->IsA("MxPresenter") && ((MxPresenter*) *it)->IsEnabled())) {
|
||||
m_set0xd0.insert(*it);
|
||||
m_disabledObjects.insert(*it);
|
||||
((MxPresenter*) *it)->Enable(FALSE);
|
||||
}
|
||||
}
|
||||
@@ -800,7 +800,7 @@ void LegoWorld::Enable(MxBool p_enable)
|
||||
|
||||
while (pathControllerCursor.Next(controller)) {
|
||||
controller->Enable(FALSE);
|
||||
m_set0xd0.insert(controller);
|
||||
m_disabledObjects.insert(controller);
|
||||
}
|
||||
|
||||
GetViewManager()->RemoveAll(NULL);
|
||||
@@ -858,7 +858,7 @@ MxBool LegoWorld::PresentersPending()
|
||||
}
|
||||
}
|
||||
|
||||
for (MxCoreSet::iterator it = m_set0xa8.begin(); it != m_set0xa8.end(); it++) {
|
||||
for (MxCoreSet::iterator it = m_objects.begin(); it != m_objects.end(); it++) {
|
||||
if ((*it)->IsA("MxPresenter")) {
|
||||
presenter = (MxPresenter*) *it;
|
||||
|
||||
|
@@ -58,7 +58,7 @@ LegoWorldPresenter::~LegoWorldPresenter()
|
||||
PlantManager()->LoadWorldInfo(worldId);
|
||||
AnimationManager()->LoadWorldInfo(worldId);
|
||||
BuildingManager()->LoadWorldInfo();
|
||||
result = ((LegoWorld*) m_entity)->VTable0x5c();
|
||||
result = ((LegoWorld*) m_entity)->WaitForTransition();
|
||||
}
|
||||
|
||||
if (result == FALSE) {
|
||||
|
@@ -101,7 +101,7 @@ MxLong LegoRace::Notify(MxParam& p_param)
|
||||
// FUNCTION: BETA10 0x100c7c3f
|
||||
void LegoRace::Enable(MxBool p_enable)
|
||||
{
|
||||
if (GetUnknown0xd0Empty() != p_enable && !p_enable) {
|
||||
if (NoDisabledObjects() != p_enable && !p_enable) {
|
||||
Remove(UserActor());
|
||||
|
||||
MxU8 oldActorId = GameState()->GetActorId();
|
||||
|
@@ -1136,7 +1136,7 @@ void LegoAnimPresenter::VTable0x8c()
|
||||
}
|
||||
|
||||
if (m_currentWorld) {
|
||||
m_currentWorld->FUN_1001fda0(this);
|
||||
m_currentWorld->AddPresenterIfInRange(this);
|
||||
if (!m_compositePresenter || !m_compositePresenter->IsA("LegoAnimMMPresenter")) {
|
||||
m_currentWorld->Add(this);
|
||||
}
|
||||
@@ -1148,7 +1148,7 @@ void LegoAnimPresenter::VTable0x8c()
|
||||
void LegoAnimPresenter::VTable0x90()
|
||||
{
|
||||
if (m_currentWorld != NULL) {
|
||||
m_currentWorld->FUN_1001fe90(this);
|
||||
m_currentWorld->RemovePresenterFromBoundaries(this);
|
||||
|
||||
if (m_compositePresenter != NULL && m_compositePresenter->IsA("LegoAnimMMPresenter")) {
|
||||
return;
|
||||
|
@@ -888,7 +888,7 @@ void Act3::FUN_10073a60()
|
||||
// FUNCTION: LEGO1 0x10073a90
|
||||
void Act3::Enable(MxBool p_enable)
|
||||
{
|
||||
if ((MxBool) m_set0xd0.empty() == p_enable) {
|
||||
if ((MxBool) m_disabledObjects.empty() == p_enable) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -1290,7 +1290,7 @@ void Infocenter::StopCutscene()
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x10070d00
|
||||
MxBool Infocenter::VTable0x5c()
|
||||
MxBool Infocenter::WaitForTransition()
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
@@ -1442,10 +1442,10 @@ void Infocenter::StartCredits()
|
||||
{
|
||||
MxPresenter* presenter;
|
||||
|
||||
while (!m_set0xa8.empty()) {
|
||||
MxCoreSet::iterator it = m_set0xa8.begin();
|
||||
while (!m_objects.empty()) {
|
||||
MxCoreSet::iterator it = m_objects.begin();
|
||||
MxCore* object = *it;
|
||||
m_set0xa8.erase(it);
|
||||
m_objects.erase(it);
|
||||
|
||||
if (object->IsA("MxPresenter")) {
|
||||
presenter = (MxPresenter*) object;
|
||||
|
@@ -529,7 +529,7 @@ MxLong Isle::HandlePathStruct(LegoPathStructNotificationParam& p_param)
|
||||
// FUNCTION: BETA10 0x10034158
|
||||
void Isle::Enable(MxBool p_enable)
|
||||
{
|
||||
if ((MxBool) m_set0xd0.empty() == p_enable) {
|
||||
if ((MxBool) m_disabledObjects.empty() == p_enable) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@@ -522,7 +522,7 @@ void LegoAct2::ReadyWorld()
|
||||
// FUNCTION: BETA10 0x1003bb2d
|
||||
void LegoAct2::Enable(MxBool p_enable)
|
||||
{
|
||||
if ((MxBool) m_set0xd0.empty() == p_enable) {
|
||||
if ((MxBool) m_disabledObjects.empty() == p_enable) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user