isle-portable/LEGO1/omni/include/mxdsactionlist.h

143 lines
3.5 KiB
C
Raw Normal View History

#ifndef MXDSACTIONLIST_H
#define MXDSACTIONLIST_H
#include "decomp.h"
#include "mxdsaction.h"
#include "mxlist.h"
(Proposal) Adjustments to "decomp" language (#308) * Adjustments to "decomp" language * Fix a comment * Fix accidental clang-formatting * Fix order * Fix order * Remove junk * Fix OFFSET * Adjustments based on new suggestions * Annotate globals * Globals in ISLE * More globals * Merge from parser2 branch * Allow prepending space for exact marker match * To eliminate noise, require the 0x prefix on offset for marker match * fix test from previous * Count tab stops for indented functions to reduce MISSED_END_OF_FUNCTION noise * FUNCTION to SYNTHETIC where needed * Missed marker conversion on SetAtomId * pylint cleanup, remove unused code * Fix unexpected function end, add more unit tests * Be more strict about synthetic name syntax * Revert "Missed marker conversion on SetAtomId" This reverts commit d87d665127fae7dd6e5bd48d9af14a0a829bf9e2. * Revert "FUNCTION to SYNTHETIC where needed" This reverts commit 8c815418d261ba8c5f67a9a2cae349fe4ac92db8. * Implicit lookup by name for functions * Fix VTABLE SYNTHETIC and other decomp markers * Get vtable class name * Vtable marker should identify struct * No colon for SIZE comment * Update README.md * Update README.md * Update CONTRIBUTING.md * Update README.md * Update README.md * Update CONTRIBUTING.md * Update README.md * Update CONTRIBUTING.md * Fix destructor/annotation * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md --------- Co-authored-by: disinvite <disinvite@users.noreply.github.com>
2023-12-06 07:10:45 -05:00
// VTABLE: LEGO1 0x100dcea8
// VTABLE: BETA10 0x101c2928
// class MxCollection<MxDSAction *>
(Proposal) Adjustments to "decomp" language (#308) * Adjustments to "decomp" language * Fix a comment * Fix accidental clang-formatting * Fix order * Fix order * Remove junk * Fix OFFSET * Adjustments based on new suggestions * Annotate globals * Globals in ISLE * More globals * Merge from parser2 branch * Allow prepending space for exact marker match * To eliminate noise, require the 0x prefix on offset for marker match * fix test from previous * Count tab stops for indented functions to reduce MISSED_END_OF_FUNCTION noise * FUNCTION to SYNTHETIC where needed * Missed marker conversion on SetAtomId * pylint cleanup, remove unused code * Fix unexpected function end, add more unit tests * Be more strict about synthetic name syntax * Revert "Missed marker conversion on SetAtomId" This reverts commit d87d665127fae7dd6e5bd48d9af14a0a829bf9e2. * Revert "FUNCTION to SYNTHETIC where needed" This reverts commit 8c815418d261ba8c5f67a9a2cae349fe4ac92db8. * Implicit lookup by name for functions * Fix VTABLE SYNTHETIC and other decomp markers * Get vtable class name * Vtable marker should identify struct * No colon for SIZE comment * Update README.md * Update README.md * Update CONTRIBUTING.md * Update README.md * Update README.md * Update CONTRIBUTING.md * Update README.md * Update CONTRIBUTING.md * Fix destructor/annotation * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md --------- Co-authored-by: disinvite <disinvite@users.noreply.github.com>
2023-12-06 07:10:45 -05:00
// VTABLE: LEGO1 0x100dcec0
// VTABLE: BETA10 0x101c2910
// class MxList<MxDSAction *>
(Proposal) Adjustments to "decomp" language (#308) * Adjustments to "decomp" language * Fix a comment * Fix accidental clang-formatting * Fix order * Fix order * Remove junk * Fix OFFSET * Adjustments based on new suggestions * Annotate globals * Globals in ISLE * More globals * Merge from parser2 branch * Allow prepending space for exact marker match * To eliminate noise, require the 0x prefix on offset for marker match * fix test from previous * Count tab stops for indented functions to reduce MISSED_END_OF_FUNCTION noise * FUNCTION to SYNTHETIC where needed * Missed marker conversion on SetAtomId * pylint cleanup, remove unused code * Fix unexpected function end, add more unit tests * Be more strict about synthetic name syntax * Revert "Missed marker conversion on SetAtomId" This reverts commit d87d665127fae7dd6e5bd48d9af14a0a829bf9e2. * Revert "FUNCTION to SYNTHETIC where needed" This reverts commit 8c815418d261ba8c5f67a9a2cae349fe4ac92db8. * Implicit lookup by name for functions * Fix VTABLE SYNTHETIC and other decomp markers * Get vtable class name * Vtable marker should identify struct * No colon for SIZE comment * Update README.md * Update README.md * Update CONTRIBUTING.md * Update README.md * Update README.md * Update CONTRIBUTING.md * Update README.md * Update CONTRIBUTING.md * Fix destructor/annotation * Update README.md * Update README.md * Update README.md * Update README.md * Update README.md --------- Co-authored-by: disinvite <disinvite@users.noreply.github.com>
2023-12-06 07:10:45 -05:00
// VTABLE: LEGO1 0x100dced8
// VTABLE: BETA10 0x101c28f8
// SIZE 0x1c
2023-10-24 19:38:27 -04:00
class MxDSActionList : public MxList<MxDSAction*> {
public:
// FUNCTION: BETA10 0x1015ad10
MxDSActionList() { this->m_unk0x18 = 0; }
// FUNCTION: LEGO1 0x100c9c90
// FUNCTION: BETA10 0x1015ad90
MxS8 Compare(MxDSAction* p_a, MxDSAction* p_b) override
{
return p_a == p_b ? 0 : p_a < p_b ? -1 : 1;
} // vtable+0x14
// FUNCTION: LEGO1 0x100c9cb0
static void Destroy(MxDSAction* p_action) { delete p_action; }
// SYNTHETIC: LEGO1 0x100c9dc0
// SYNTHETIC: BETA10 0x1015b070
// MxDSActionList::`scalar deleting destructor'
private:
undefined m_unk0x18; // 0x18
};
// VTABLE: LEGO1 0x100d7e68
// VTABLE: BETA10 0x101baf30
// class MxListCursor<MxDSAction *>
// VTABLE: LEGO1 0x100d7e50
// VTABLE: BETA10 0x101baf18
// SIZE 0x10
class MxDSActionListCursor : public MxListCursor<MxDSAction*> {
public:
// FUNCTION: BETA10 0x1004db00
2024-02-25 09:14:39 -05:00
MxDSActionListCursor(MxDSActionList* p_list) : MxListCursor<MxDSAction*>(p_list) {}
};
// TEMPLATE: LEGO1 0x100c9cc0
// TEMPLATE: BETA10 0x1015aed0
// MxCollection<MxDSAction *>::Compare
// TEMPLATE: LEGO1 0x100c9cd0
// TEMPLATE: BETA10 0x1015af80
// MxCollection<MxDSAction *>::~MxCollection<MxDSAction *>
// TEMPLATE: LEGO1 0x100c9d20
// TEMPLATE: BETA10 0x1015aff0
// MxCollection<MxDSAction *>::Destroy
// TEMPLATE: LEGO1 0x100c9d30
// TEMPLATE: BETA10 0x1015b000
// MxList<MxDSAction *>::~MxList<MxDSAction *>
// SYNTHETIC: LEGO1 0x100c9e30
// SYNTHETIC: BETA10 0x1015b0b0
// MxCollection<MxDSAction *>::`scalar deleting destructor'
// SYNTHETIC: LEGO1 0x100c9ea0
// SYNTHETIC: BETA10 0x1015b0f0
// MxList<MxDSAction *>::`scalar deleting destructor'
// TEMPLATE: BETA10 0x1004dba0
// MxListCursor<MxDSAction *>::MxListCursor<MxDSAction *>
// TEMPLATE: BETA10 0x1004e460
// MxListCursor<MxDSAction *>::Head
// TEMPLATE: BETA10 0x1004e4b0
// ?Next@?$MxListCursor@PAVMxDSAction@@@@QAEEXZ
// TEMPLATE: BETA10 0x1004e530
// MxListCursor<MxDSAction *>::Current
// TEMPLATE: BETA10 0x1004e590
// MxListEntry<MxDSAction *>::GetNext
// TEMPLATE: BETA10 0x1004e5c0
// MxListEntry<MxDSAction *>::GetValue
// TEMPLATE: BETA10 0x10137190
// ?Next@?$MxListCursor@PAVMxDSAction@@@@QAEEAAPAVMxDSAction@@@Z
// TEMPLATE: BETA10 0x101384e0
// MxListCursor<MxDSAction *>::Find
// TEMPLATE: BETA10 0x10138580
// MxListCursor<MxDSAction *>::Detach
// TEMPLATE: BETA10 0x101385c0
// MxList<MxDSAction *>::DeleteEntry
// TEMPLATE: BETA10 0x10138670
// MxListEntry<MxDSAction *>::GetPrev
// TEMPLATE: BETA10 0x10138690
// MxListEntry<MxDSAction *>::SetPrev
// TEMPLATE: BETA10 0x101386c0
// MxListEntry<MxDSAction *>::SetNext
// TEMPLATE: BETA10 0x1015ae10
// MxCollection<MxDSAction *>::SetDestroy
// TEMPLATE: BETA10 0x1015ae40
// MxList<MxDSAction *>::MxList<MxDSAction *>
// TEMPLATE: BETA10 0x1015aef0
// MxCollection<MxDSAction *>::MxCollection<MxDSAction *>
// SYNTHETIC: BETA10 0x1015b130
// MxDSActionList::~MxDSActionList
// TEMPLATE: BETA10 0x1015b250
// MxList<MxDSAction *>::Append
// TEMPLATE: BETA10 0x1015bca0
// MxList<MxDSAction *>::InsertEntry
// TEMPLATE: BETA10 0x1015c140
// MxListEntry<MxDSAction *>::MxListEntry<MxDSAction *>
// TEMPLATE: BETA10 0x1015bd90
// MxList<MxDSAction *>::DeleteAll
#endif // MXDSACTIONLIST_H