Implement various infocenter functions (#510)

* Implement various infocenter methods

* fix order

* Update infocenter.cpp

* Update infocenter.cpp

* Update infocenter.cpp

* Update mxcontrolpresenter.cpp

* Rename stuff for consistency

* Add StateStruct to InfocenterState

* Resolve some TODO

* Use MxRect32

* Improve match

* Match Infocenter::UpdateFrameHot

* Fix VTable0x64

* WIP Match

* Match

* Cleanup

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
Misha
2024-01-31 09:47:15 -05:00
committed by GitHub
parent bad32149ca
commit 9e0b19856c
20 changed files with 486 additions and 118 deletions

View File

@@ -23,7 +23,7 @@ enum NotificationId {
c_notificationDragStart = 13,
c_notificationDrag = 14,
c_notificationTimer = 15, // 100d6aa0
c_notificationType17 = 17,
c_notificationClick = 17,
c_notificationType18 = 18, // 100d7e80
c_notificationType19 = 19, // 100d6230
c_notificationType20 = 20,

View File

@@ -121,6 +121,8 @@ public:
m_compositePresenter = p_compositePresenter;
}
inline void SetDisplayZ(MxS32 p_displayZ) { m_displayZ = p_displayZ; }
// SYNTHETIC: LEGO1 0x1000c070
// MxPresenter::`scalar deleting destructor'

View File

@@ -65,6 +65,7 @@ public:
}
inline MxBool IsValid() const { return m_left < m_right && m_top < m_bottom; }
inline MxBool IntersectsWith(const MxRect32& p_rect) const
{
return m_left < p_rect.m_right && p_rect.m_left < m_right && m_top < p_rect.m_bottom && p_rect.m_top < m_bottom;