mirror of
https://github.com/isledecomp/isle.git
synced 2026-01-28 10:41:15 +00:00
Fix vtable
This commit is contained in:
parent
f0a31294fd
commit
23d33a63b0
@ -76,9 +76,6 @@ class LegoAnimPresenter : public MxVideoPresenter {
|
||||
// SYNTHETIC: LEGO1 0x10068650
|
||||
// LegoAnimPresenter::`scalar deleting destructor'
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10099de0
|
||||
// LegoAnimClassBase::`scalar deleting destructor'
|
||||
|
||||
// VTABLE: LEGO1 0x100db8d8
|
||||
// SIZE 0x18
|
||||
class LegoAnimClass : public LegoTree {
|
||||
@ -86,9 +83,9 @@ class LegoAnimClass : public LegoTree {
|
||||
LegoAnimClass();
|
||||
virtual ~LegoAnimClass() override;
|
||||
|
||||
virtual void Read() override; // vtable+0x08
|
||||
virtual void Write() override; // vtable+0x0c
|
||||
virtual MxResult CreateData(LegoMemory* p_stream, MxS32); // vtable+0x10
|
||||
virtual LegoResult Write(LegoStorage* p_storage) override; // vtable+0x08
|
||||
virtual LegoTreeNodeData* CreateData() override; // vtable+0x0c
|
||||
virtual MxResult VTable0x10(LegoMemory* p_stream, MxS32); // vtable+0x10
|
||||
|
||||
inline MxLong GetUnknown0x8() { return m_unk0x8; }
|
||||
|
||||
|
||||
@ -73,7 +73,7 @@ MxResult LegoAnimPresenter::VTable0x88(MxStreamChunk* p_chunk)
|
||||
if (stream.Read(&val3, sizeof(MxS32)) == SUCCESS) {
|
||||
m_unk0x64 = new LegoAnimClass();
|
||||
if (m_unk0x64) {
|
||||
if (m_unk0x64->CreateData(&stream, val2) == SUCCESS) {
|
||||
if (m_unk0x64->VTable0x10(&stream, val2) == SUCCESS) {
|
||||
result = SUCCESS;
|
||||
}
|
||||
}
|
||||
@ -215,19 +215,21 @@ LegoAnimClass::~LegoAnimClass()
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x100a0c70
|
||||
MxResult LegoAnimClass::CreateData(LegoMemory* p_stream, MxS32)
|
||||
MxResult LegoAnimClass::VTable0x10(LegoMemory* p_stream, MxS32)
|
||||
{
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x100a0e30
|
||||
void LegoAnimClass::Read()
|
||||
LegoResult LegoAnimClass::Write(LegoStorage* p_storage)
|
||||
{
|
||||
// TODO
|
||||
return SUCCESS;
|
||||
}
|
||||
|
||||
// STUB: LEGO1 0x100a1040
|
||||
void LegoAnimClass::Write()
|
||||
LegoTreeNodeData* LegoAnimClass::CreateData()
|
||||
{
|
||||
// TODO
|
||||
return NULL;
|
||||
}
|
||||
|
||||
@ -13,9 +13,11 @@ class LegoStorage;
|
||||
class LegoTreeNodeData {
|
||||
public:
|
||||
LegoTreeNodeData() {}
|
||||
virtual ~LegoTreeNodeData() {} // vtable+0x0
|
||||
virtual ~LegoTreeNodeData() {}
|
||||
|
||||
// FUNCTION: LEGO1 0x10099fe0
|
||||
virtual LegoResult Read(LegoStorage* p_storage) { return SUCCESS; } // vtable+0x4
|
||||
|
||||
// FUNCTION: LEGO1 0x10099ff0
|
||||
virtual LegoResult Write(LegoStorage* p_storage) { return SUCCESS; } // vtable+0x8
|
||||
|
||||
@ -28,7 +30,7 @@ class LegoTreeNodeData {
|
||||
class LegoTreeNode {
|
||||
public:
|
||||
LegoTreeNode();
|
||||
virtual ~LegoTreeNode(); // vtable+0x0
|
||||
virtual ~LegoTreeNode();
|
||||
LegoTreeNodeData* GetData() { return m_data; }
|
||||
void SetData(LegoTreeNodeData* p_data) { m_data = p_data; }
|
||||
LegoU32 GetNumChildren() { return m_numChildren; }
|
||||
@ -52,7 +54,7 @@ class LegoTreeNode {
|
||||
class LegoTree {
|
||||
public:
|
||||
LegoTree();
|
||||
virtual ~LegoTree(); // vtable+0x0
|
||||
virtual ~LegoTree();
|
||||
LegoTreeNode* GetRoot() { return m_root; }
|
||||
void SetRoot(LegoTreeNode* p_root) { m_root = p_root; }
|
||||
virtual LegoResult Read(LegoStorage* p_storage); // vtable+0x4
|
||||
@ -65,9 +67,11 @@ class LegoTree {
|
||||
LegoResult Read(LegoStorage* p_storage, LegoTreeNode*& p_node);
|
||||
LegoResult Write(LegoStorage* p_storage, LegoTreeNode* p_node);
|
||||
void Delete(LegoTreeNode* p_node);
|
||||
|
||||
// FUNCTION: LEGO1 0x10099f70
|
||||
virtual LegoTreeNodeData* CreateData() { return new LegoTreeNodeData(); } // vtable+0xc
|
||||
LegoTreeNode* m_root; // 0x4
|
||||
|
||||
LegoTreeNode* m_root; // 0x4
|
||||
};
|
||||
|
||||
#endif // __LEGOTREE_H
|
||||
|
||||
Loading…
Reference in New Issue
Block a user