mirror of
https://github.com/isledecomp/isle.git
synced 2024-11-22 15:48:09 -05:00
implement LegoInputManager register and unregister (#496)
* implement LegoInputManager::Create * Fixes * Add annotation * Add size assert * push changes * Add size assert * Order annotations --------- Co-authored-by: Christian Semmler <mail@csemmler.com>
This commit is contained in:
parent
159e27baba
commit
d4cb8677b8
2 changed files with 46 additions and 6 deletions
|
@ -48,6 +48,19 @@ class LegoNotifyList : public MxPtrList<MxCore> {
|
|||
LegoNotifyList(MxBool p_ownership = FALSE) : MxPtrList<MxCore>(p_ownership) {}
|
||||
};
|
||||
|
||||
// VTABLE: LEGO1 0x100d6ac0
|
||||
// class MxListCursor<MxCore *>
|
||||
|
||||
// VTABLE: LEGO1 0x100d6ad8
|
||||
// class MxPtrListCursor<MxCore>
|
||||
|
||||
// VTABLE: LEGO1 0x100d6aa8
|
||||
// SIZE 0x10
|
||||
class LegoNotifyListCursor : public MxPtrListCursor<MxCore> {
|
||||
public:
|
||||
LegoNotifyListCursor(LegoNotifyList* p_list) : MxPtrListCursor<MxCore>(p_list) {}
|
||||
};
|
||||
|
||||
// VTABLE: LEGO1 0x100d8760
|
||||
// SIZE 0x338
|
||||
class LegoInputManager : public MxPresenter {
|
||||
|
@ -157,6 +170,24 @@ class LegoInputManager : public MxPresenter {
|
|||
// SYNTHETIC: LEGO1 0x10028b30
|
||||
// MxPtrList<MxCore>::`scalar deleting destructor'
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10028fd0
|
||||
// LegoNotifyListCursor::`scalar deleting destructor'
|
||||
|
||||
// TEMPLATE: LEGO1 0x10029040
|
||||
// MxPtrListCursor<MxCore>::~MxPtrListCursor<MxCore>
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10029090
|
||||
// MxListCursor<MxCore *>::`scalar deleting destructor'
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10029100
|
||||
// MxPtrListCursor<MxCore>::`scalar deleting destructor'
|
||||
|
||||
// TEMPLATE: LEGO1 0x10029170
|
||||
// MxListCursor<MxCore *>::~MxListCursor<MxCore *>
|
||||
|
||||
// TEMPLATE: LEGO1 0x100291c0
|
||||
// LegoNotifyListCursor::~LegoNotifyListCursor
|
||||
|
||||
// TEMPLATE: LEGO1 0x1005bb80
|
||||
// MxCollection<LegoEventNotificationParam>::Compare
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
|
||||
DECOMP_SIZE_ASSERT(LegoInputManager, 0x338)
|
||||
DECOMP_SIZE_ASSERT(LegoNotifyList, 0x18)
|
||||
DECOMP_SIZE_ASSERT(LegoNotifyListCursor, 0x10)
|
||||
DECOMP_SIZE_ASSERT(LegoEventQueue, 0x18)
|
||||
|
||||
// GLOBAL: LEGO1 0x100f31b0
|
||||
|
@ -211,16 +212,24 @@ MxResult LegoInputManager::GetJoystickState(
|
|||
return FAILURE;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1005c470
|
||||
void LegoInputManager::Register(MxCore*)
|
||||
// FUNCTION: LEGO1 0x1005c470
|
||||
void LegoInputManager::Register(MxCore* p_notify)
|
||||
{
|
||||
// TODO
|
||||
MxAutoLocker lock(&m_criticalSection);
|
||||
|
||||
LegoNotifyListCursor cursor(m_keyboardNotifyList);
|
||||
if (!cursor.Find(p_notify))
|
||||
m_keyboardNotifyList->Append(p_notify);
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x1005c5c0
|
||||
void LegoInputManager::UnRegister(MxCore*)
|
||||
// FUNCTION: LEGO1 0x1005c5c0
|
||||
void LegoInputManager::UnRegister(MxCore* p_notify)
|
||||
{
|
||||
// TODO
|
||||
MxAutoLocker lock(&m_criticalSection);
|
||||
|
||||
LegoNotifyListCursor cursor(m_keyboardNotifyList);
|
||||
if (cursor.Find(p_notify))
|
||||
cursor.Detach();
|
||||
}
|
||||
|
||||
// FUNCTION: LEGO1 0x1005c700
|
||||
|
|
Loading…
Reference in a new issue