isle-portable/LEGO1/omni/include/mxstreamchunklist.h
MS 909c44b679
reccmp: vtable comparison (#452)
* Add vtable comparison to reccmp

* Add missing scalar deleting destructors

* Fix some vtables

---------

Co-authored-by: Christian Semmler <mail@csemmler.com>
2024-01-18 14:34:14 +01:00

62 lines
1.6 KiB
C++

#ifndef MXSTREAMCHUNKLIST_H
#define MXSTREAMCHUNKLIST_H
#include "decomp.h"
#include "mxlist.h"
class MxStreamChunk;
// VTABLE: LEGO1 0x100dc5d0
// class MxCollection<MxStreamChunk *>
// VTABLE: LEGO1 0x100dc5e8
// class MxList<MxStreamChunk *>
// VTABLE: LEGO1 0x100dc600
// SIZE 0x18
class MxStreamChunkList : public MxList<MxStreamChunk*> {
public:
MxStreamChunkList() { m_customDestructor = Destroy; }
// FUNCTION: LEGO1 0x100b5900
virtual MxS8 Compare(MxStreamChunk* p_a, MxStreamChunk* p_b) override
{
return p_a == p_b ? 0 : p_a < p_b ? -1 : 1;
} // vtable+0x14
// FUNCTION: LEGO1 0x100b5920
static void Destroy(MxStreamChunk* p_chunk) { delete p_chunk; }
// SYNTHETIC: LEGO1 0x100b5a30
// MxStreamChunkList::`scalar deleting destructor'
};
// VTABLE: LEGO1 0x100dc510
// SIZE 0x10
class MxStreamChunkListCursor : public MxListCursor<MxStreamChunk*> {
public:
MxStreamChunkListCursor(MxStreamChunkList* p_list) : MxListCursor<MxStreamChunk*>(p_list){};
};
// VTABLE: LEGO1 0x100dc528
// class MxListCursor<MxStreamChunk *>
// TEMPLATE: LEGO1 0x100b5930
// MxCollection<MxStreamChunk *>::Compare
// TEMPLATE: LEGO1 0x100b5940
// MxCollection<MxStreamChunk *>::~MxCollection<MxStreamChunk *>
// TEMPLATE: LEGO1 0x100b5990
// MxCollection<MxStreamChunk *>::Destroy
// TEMPLATE: LEGO1 0x100b59a0
// MxList<MxStreamChunk *>::~MxList<MxStreamChunk *>
// SYNTHETIC: LEGO1 0x100b5aa0
// MxCollection<MxStreamChunk *>::`scalar deleting destructor'
// SYNTHETIC: LEGO1 0x100b5b10
// MxList<MxStreamChunk *>::`scalar deleting destructor'
#endif // MXSTREAMCHUNKLIST_H