From dcbe1b61ef9149d00c71d6e491866d4dbb2216fd Mon Sep 17 00:00:00 2001 From: disinvite Date: Wed, 6 Dec 2023 17:04:51 -0500 Subject: [PATCH] Add decomp markers for list cursors --- LEGO1/legoworld.cpp | 18 ++++++++++++++++ LEGO1/mxdsactionlist.h | 4 ++++ LEGO1/mxdsmultiaction.cpp | 13 ++++++++++++ LEGO1/mxdsselectaction.cpp | 15 ++++++++++++++ LEGO1/mxmediapresenter.cpp | 13 ++++++++++++ LEGO1/mxpresenterlist.h | 7 +++++++ LEGO1/mxregion.cpp | 42 ++++++++++++++++++++++++++++++++++++++ LEGO1/mxregionlist.h | 12 +++++++++++ LEGO1/mxstreamchunklist.h | 4 ++++ LEGO1/mxstringlist.h | 3 +++ 10 files changed, 131 insertions(+) diff --git a/LEGO1/legoworld.cpp b/LEGO1/legoworld.cpp index 938abe3a..5452fc4c 100644 --- a/LEGO1/legoworld.cpp +++ b/LEGO1/legoworld.cpp @@ -67,6 +67,24 @@ MxResult LegoWorld::SetAsCurrentWorld(MxDSObject& p_dsObject) return SUCCESS; } +// SYNTHETIC: LEGO1 0x1001eed0 +// MxPresenterListCursor::`scalar deleting destructor' + +// TEMPLATE: LEGO1 0x1001ef40 +// MxPtrListCursor::~MxPtrListCursor + +// SYNTHETIC: LEGO1 0x1001ef90 +// MxListCursor::`scalar deleting destructor' + +// SYNTHETIC: LEGO1 0x1001f000 +// MxPtrListCursor::`scalar deleting destructor' + +// TEMPLATE: LEGO1 0x1001f070 +// MxListCursor::~MxListCursor + +// SYNTHETIC: LEGO1 0x1001f0c0 +// MxPresenterListCursor::~MxPresenterListCursor + // FUNCTION: LEGO1 0x1001f5e0 MxLong LegoWorld::Notify(MxParam& p_param) { diff --git a/LEGO1/mxdsactionlist.h b/LEGO1/mxdsactionlist.h index fde9dea9..a467bf52 100644 --- a/LEGO1/mxdsactionlist.h +++ b/LEGO1/mxdsactionlist.h @@ -26,6 +26,10 @@ class MxDSActionList : public MxList { undefined m_unk18; }; +// VTABLE: LEGO1 0x100d7e68 +// class MxListCursor + +// VTABLE: LEGO1 0x100d7e50 class MxDSActionListCursor : public MxListCursor { public: MxDSActionListCursor(MxDSActionList* p_list) : MxListCursor(p_list){}; diff --git a/LEGO1/mxdsmultiaction.cpp b/LEGO1/mxdsmultiaction.cpp index 27cd806e..6fc15cb0 100644 --- a/LEGO1/mxdsmultiaction.cpp +++ b/LEGO1/mxdsmultiaction.cpp @@ -2,6 +2,19 @@ DECOMP_SIZE_ASSERT(MxDSMultiAction, 0x9c) +// TODO: Should be moved later +// SYNTHETIC: LEGO1 0x1004ad10 +// MxDSActionListCursor::`scalar deleting destructor' + +// TEMPLATE: LEGO1 0x1004ad80 +// MxListCursor::~MxListCursor + +// SYNTHETIC: LEGO1 0x1004add0 +// MxListCursor::`scalar deleting destructor' + +// SYNTHETIC: LEGO1 0x1004ae40 +// MxDSActionListCursor::~MxDSActionListCursor + // FUNCTION: LEGO1 0x100c9b90 MxDSMultiAction::MxDSMultiAction() { diff --git a/LEGO1/mxdsselectaction.cpp b/LEGO1/mxdsselectaction.cpp index 4bdfbd60..2cabf6b8 100644 --- a/LEGO1/mxdsselectaction.cpp +++ b/LEGO1/mxdsselectaction.cpp @@ -33,6 +33,18 @@ void MxDSSelectAction::CopyFrom(MxDSSelectAction& p_dsSelectAction) this->m_unk0xac->Append(string); } +// SYNTHETIC: LEGO1 0x100cbbd0 +// MxStringListCursor::`scalar deleting destructor' + +// TEMPLATE: LEGO1 0x100cbc40 +// MxListCursor::~MxListCursor + +// SYNTHETIC: LEGO1 0x100cbc90 +// MxListCursor::`scalar deleting destructor' + +// SYNTHETIC: LEGO1 0x100cbd00 +// MxStringListCursor::~MxStringListCursor + // FUNCTION: LEGO1 0x100cbd50 MxDSSelectAction& MxDSSelectAction::operator=(MxDSSelectAction& p_dsSelectAction) { @@ -130,3 +142,6 @@ void MxDSSelectAction::Deserialize(char** p_source, MxS16 p_unk24) *p_source += extraFlag; } + +// TEMPLATE: LEGO1 0x100cc450 +// MxListEntry::GetValue diff --git a/LEGO1/mxmediapresenter.cpp b/LEGO1/mxmediapresenter.cpp index 314f89c7..b99e2d6e 100644 --- a/LEGO1/mxmediapresenter.cpp +++ b/LEGO1/mxmediapresenter.cpp @@ -21,6 +21,19 @@ void MxMediaPresenter::Destroy() Destroy(FALSE); } +// TODO: These probably belong in another class +// SYNTHETIC: LEGO1 0x100b46e0 +// MxStreamChunkListCursor::`scalar deleting destructor' + +// TEMPLATE: LEGO1 0x100b4750 +// MxListCursor::~MxListCursor + +// SYNTHETIC: LEGO1 0x100b47a0 +// MxListCursor::`scalar deleting destructor' + +// SYNTHETIC: LEGO1 0x100b4810 +// MxStreamChunkListCursor::~MxStreamChunkListCursor + // FUNCTION: LEGO1 0x100b54e0 void MxMediaPresenter::Init() { diff --git a/LEGO1/mxpresenterlist.h b/LEGO1/mxpresenterlist.h index 524c4472..23e7f6c2 100644 --- a/LEGO1/mxpresenterlist.h +++ b/LEGO1/mxpresenterlist.h @@ -15,6 +15,13 @@ class MxPresenterList : public MxPtrList { virtual MxS8 Compare(MxPresenter*, MxPresenter*) override; // vtable+0x14 }; +// VTABLE: LEGO1 0x100d6488 +// class MxListCursor + +// VTABLE: LEGO1 0x100d6530 +// class MxPtrListCursor + +// VTABLE: LEGO1 0x100d6470 class MxPresenterListCursor : public MxPtrListCursor { public: MxPresenterListCursor(MxPresenterList* p_list) : MxPtrListCursor(p_list){}; diff --git a/LEGO1/mxregion.cpp b/LEGO1/mxregion.cpp index afd546d6..8b3e5706 100644 --- a/LEGO1/mxregion.cpp +++ b/LEGO1/mxregion.cpp @@ -86,6 +86,24 @@ void MxRegion::vtable18(MxRect32& p_rect) m_rect.UpdateBounds(p_rect); } +// SYNTHETIC: LEGO1 0x100c3be0 +// MxRegionListCursor::`scalar deleting destructor' + +// TEMPLATE: LEGO1 0x100c3c50 +// MxPtrListCursor::~MxPtrListCursor + +// SYNTHETIC: LEGO1 0x100c3ca0 +// MxListCursor::`scalar deleting destructor' + +// SYNTHETIC: LEGO1 0x100c3d10 +// MxPtrListCursor::`scalar deleting destructor' + +// TEMPLATE: LEGO1 0x100c3d80 +// MxListCursor::~MxListCursor + +// SYNTHETIC: LEGO1 0x100c3dd0 +// MxRegionListCursor::~MxRegionListCursor + // FUNCTION: LEGO1 0x100c3e20 MxBool MxRegion::vtable1c(MxRect32& p_rect) { @@ -105,6 +123,21 @@ MxBool MxRegion::vtable1c(MxRect32& p_rect) return FALSE; } +// SYNTHETIC: LEGO1 0x100c4790 +// MxRegionLeftRightListCursor::`scalar deleting destructor' + +// TEMPLATE: LEGO1 0x100c4800 +// MxPtrListCursor::~MxPtrListCursor + +// SYNTHETIC: LEGO1 0x100c4850 +// MxListCursor::`scalar deleting destructor' + +// SYNTHETIC: LEGO1 0x100c48c0 +// MxPtrListCursor::`scalar deleting destructor' + +// TEMPLATE: LEGO1 0x100c4930 +// MxListCursor::~MxListCursor + // FUNCTION: LEGO1 0x100c4c90 MxRegionTopBottom::MxRegionTopBottom(MxS32 p_top, MxS32 p_bottom) { @@ -167,6 +200,15 @@ void MxRegionTopBottom::FUN_100c5280(MxS32 p_left, MxS32 p_right) } } +// TEMPLATE: LEGO1 0x100c54f0 +// MxListCursor::MxListCursor + +// TEMPLATE: LEGO1 0x100c5560 +// MxRegionLeftRightListCursor::~MxRegionLeftRightListCursor + +// TEMPLATE: LEGO1 0x100c55b0 +// MxListCursor::operator= + // FUNCTION: LEGO1 0x100c55d0 MxRegionTopBottom* MxRegionTopBottom::Clone() { diff --git a/LEGO1/mxregionlist.h b/LEGO1/mxregionlist.h index 7ad8403e..c36131f3 100644 --- a/LEGO1/mxregionlist.h +++ b/LEGO1/mxregionlist.h @@ -23,6 +23,12 @@ class MxRegionList : public MxPtrList { static void Destroy(MxRegionTopBottom*); }; +// VTABLE: LEGO1 0x100dcb70 +// class MxPtrListCursor + +// VTABLE: LEGO1 0x100dcba0 +// class MxListCursor + // VTABLE: LEGO1 0x100dcb88 class MxRegionListCursor : public MxPtrListCursor { public: @@ -46,6 +52,12 @@ class MxRegionLeftRightList : public MxPtrList { static void Destroy(MxRegionLeftRight*); }; +// VTABLE: LEGO1 0x100dcbf8 +// class MxPtrListCursor + +// VTABLE: LEGO1 0x100dcc28 +// class MxListCursor + // VTABLE: LEGO1 0x100dcc10 class MxRegionLeftRightListCursor : public MxPtrListCursor { public: diff --git a/LEGO1/mxstreamchunklist.h b/LEGO1/mxstreamchunklist.h index e92c777e..9661229c 100644 --- a/LEGO1/mxstreamchunklist.h +++ b/LEGO1/mxstreamchunklist.h @@ -23,9 +23,13 @@ class MxStreamChunkList : public MxList { static void Destroy(MxStreamChunk* p_chunk); }; +// VTABLE: LEGO1 0x100dc510 class MxStreamChunkListCursor : public MxListCursor { public: MxStreamChunkListCursor(MxStreamChunkList* p_list) : MxListCursor(p_list){}; }; +// VTABLE: LEGO1 0x100dc528 +// class MxListCursor + #endif // MXSTREAMCHUNKLIST_H diff --git a/LEGO1/mxstringlist.h b/LEGO1/mxstringlist.h index 89aeb3b9..cacb0be5 100644 --- a/LEGO1/mxstringlist.h +++ b/LEGO1/mxstringlist.h @@ -14,4 +14,7 @@ class MxStringListCursor : public MxListCursor { MxStringListCursor(MxStringList* p_list) : MxListCursor(p_list){}; }; +// VTABLE: LEGO1 0x100dd070 +// class MxListCursor + #endif // MXSTRINGLIST_H