mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 08:24:16 +00:00
MxRegion: initial implementation (#218)
* MxRegion structures
* MxRegion structures
* Remove junk
* Refactor
* WIP
* Use MxRect32 ctor
* Refactor
* Add MxSize32, match MxRegion ctor
* Add two template annotations
* Fix missing instructions
* Fix another bug
* Refactor
* Add GetPoint
* Implement/match MxRegionTopBottom::MxRegionTopBottom
* Implement/match more functions
* More implementation
* Don't expose internal match
* Fix indent
* Add template annotations
* Implement remaining functions
* Fix comment
* Match loops
* Simplify function
* Merge
* Remove junk
* Format
* Format
* match MxRegion::vtable1c
* revert vtable1c match-hack
This reverts commit 7b88625988
.
---------
Co-authored-by: Ramen2X <64166386+Ramen2X@users.noreply.github.com>
This commit is contained in:

committed by
GitHub

parent
cb286520e5
commit
9ac9fe2761
56
LEGO1/mxregionlist.h
Normal file
56
LEGO1/mxregionlist.h
Normal file
@@ -0,0 +1,56 @@
|
||||
#ifndef MXREGIONLIST_H
|
||||
#define MXREGIONLIST_H
|
||||
|
||||
#include "mxlist.h"
|
||||
|
||||
struct MxRegionTopBottom;
|
||||
struct MxRegionLeftRight;
|
||||
|
||||
// VTABLE 0x100dcb40
|
||||
// SIZE 0x18
|
||||
class MxRegionListParent : public MxList<MxRegionTopBottom*> {
|
||||
public:
|
||||
static void Destroy(MxRegionTopBottom* p_topBottom);
|
||||
|
||||
MxRegionListParent() { m_customDestructor = Destroy; }
|
||||
};
|
||||
|
||||
// VTABLE 0x100dcb58
|
||||
// SIZE 0x18
|
||||
class MxRegionList : public MxRegionListParent {};
|
||||
|
||||
// VTABLE 0x100dcb88
|
||||
typedef MxListCursorChildChild<MxRegionTopBottom*> MxRegionListCursor;
|
||||
|
||||
// OFFSET: LEGO1 0x100c5970 TEMPLATE
|
||||
// MxList<MxRegionTopBottom *>::_InsertEntry
|
||||
|
||||
// OFFSET: LEGO1 0x100c5a20 TEMPLATE
|
||||
// MxListEntry<MxRegionTopBottom *>::MxListEntry<MxRegionTopBottom *>
|
||||
|
||||
// VTABLE 0x100dcc70
|
||||
// SIZE 0x18
|
||||
class MxRegionLeftRightListParent : public MxList<MxRegionLeftRight*> {
|
||||
public:
|
||||
static void Destroy(MxRegionLeftRight* p_leftRight);
|
||||
|
||||
MxRegionLeftRightListParent() { m_customDestructor = Destroy; }
|
||||
};
|
||||
|
||||
// VTABLE 0x100dcc88
|
||||
// SIZE 0x18
|
||||
class MxRegionLeftRightList : public MxRegionLeftRightListParent {};
|
||||
|
||||
// VTABLE 0x100dcc10
|
||||
typedef MxListCursorChildChild<MxRegionLeftRight*> MxRegionLeftRightListCursor;
|
||||
|
||||
// OFFSET: LEGO1 0x100c54f0 TEMPLATE
|
||||
// MxListCursor<MxRegionLeftRight *>::MxListCursor<MxRegionLeftRight *>
|
||||
|
||||
// OFFSET: LEGO1 0x100c58c0 TEMPLATE
|
||||
// MxList<MxRegionLeftRight *>::_InsertEntry
|
||||
|
||||
// OFFSET: LEGO1 0x100c5a40 TEMPLATE
|
||||
// MxList<MxRegionLeftRight *>::_DeleteEntry
|
||||
|
||||
#endif // MXREGIONLIST_H
|
Reference in New Issue
Block a user