diff --git a/LEGO1/lego/legoomni/include/legolocomotionanimpresenter.h b/LEGO1/lego/legoomni/include/legolocomotionanimpresenter.h index 5ca2f4f6..04e9e268 100644 --- a/LEGO1/lego/legoomni/include/legolocomotionanimpresenter.h +++ b/LEGO1/lego/legoomni/include/legolocomotionanimpresenter.h @@ -35,12 +35,9 @@ class LegoLocomotionAnimPresenter : public LegoLoopingAnimPresenter { // SYNTHETIC: LEGO1 0x1006cfe0 // LegoLocomotionAnimPresenter::`scalar deleting destructor' - inline undefined2 DecrementUnknown0xd4() - { - if (m_unk0xd4 != 0) - --m_unk0xd4; - return m_unk0xd4; - } + inline void DecrementUnknown0xd4() { --m_unk0xd4; } + + inline undefined2 GetUnknown0xd4() { return m_unk0xd4; } private: void Init(); diff --git a/LEGO1/lego/legoomni/src/entity/legoworld.cpp b/LEGO1/lego/legoomni/src/entity/legoworld.cpp index 1a02e632..597d561e 100644 --- a/LEGO1/lego/legoomni/src/entity/legoworld.cpp +++ b/LEGO1/lego/legoomni/src/entity/legoworld.cpp @@ -117,7 +117,12 @@ void LegoWorld::Destroy(MxBool p_fromDestructor) MxDSAction* action = presenter->GetAction(); if (action) { if (presenter->IsA("LegoLocomotionAnimPresenter")) { - if (((LegoLocomotionAnimPresenter*) presenter)->DecrementUnknown0xd4() == 0) { + LegoLocomotionAnimPresenter* animPresenter = (LegoLocomotionAnimPresenter*) presenter; + + if (animPresenter->GetUnknown0xd4() != 0) + animPresenter->DecrementUnknown0xd4(); + + if (animPresenter->GetUnknown0xd4() == 0) { FUN_100b7220(action, MxDSAction::c_world, FALSE); presenter->EndAction(); } @@ -193,10 +198,6 @@ void LegoWorld::Destroy(MxBool p_fromDestructor) } while (!m_list0xe0.empty()) { - /*list::iterator it = m_list0xe0.begin(); - AutoROI* roi = *it; - m_list0xe0.erase(it);*/ - AutoROI* roi = m_list0xe0.front(); m_list0xe0.pop_front(); delete roi;