From 67c71cb9e6d41d28ca57f845f72569ee0ecc143a Mon Sep 17 00:00:00 2001 From: Christian Semmler <mail@csemmler.com> Date: Sat, 15 Mar 2025 14:19:09 -0700 Subject: [PATCH] Match `MxControlPresenter::HasTickleStatePassed` (#1412) --- LEGO1/lego/legoomni/src/common/mxcontrolpresenter.cpp | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/LEGO1/lego/legoomni/src/common/mxcontrolpresenter.cpp b/LEGO1/lego/legoomni/src/common/mxcontrolpresenter.cpp index 3449423e..39f9be2a 100644 --- a/LEGO1/lego/legoomni/src/common/mxcontrolpresenter.cpp +++ b/LEGO1/lego/legoomni/src/common/mxcontrolpresenter.cpp @@ -296,9 +296,14 @@ void MxControlPresenter::Enable(MxBool p_enable) // FUNCTION: LEGO1 0x100448a0 MxBool MxControlPresenter::HasTickleStatePassed(TickleState p_tickleState) { - MxCompositePresenterList::iterator it = m_list.begin(); - for (MxS16 i = m_unk0x4e; i > 0; i--, it++) { - } + MxCompositePresenterList::const_iterator it = m_list.begin(); + +#ifdef COMPAT_MODE + advance(it, m_unk0x4e); +#else + // Uses forward iterator logic instead of bidrectional for some reason. + _Advance(it, m_unk0x4e, forward_iterator_tag()); +#endif return (*it)->HasTickleStatePassed(p_tickleState); }