mirror of
https://github.com/isledecomp/isle.git
synced 2025-10-23 00:14:22 +00:00
Implement ModelDb (WDB reader/parser) (#619)
* WIP Read WDB * Fixes * WIP * WIP * WIP * WIP * Match * Match * Fix Compare * Rename member
This commit is contained in:

committed by
GitHub

parent
a6cf0b5856
commit
01f07a323c
@@ -7,6 +7,9 @@
|
||||
// SIZE 0x54 (from inlined construction at 0x10009fac)
|
||||
class LegoPartPresenter : public MxMediaPresenter {
|
||||
public:
|
||||
LegoPartPresenter() { Reset(); }
|
||||
|
||||
// FUNCTION: LEGO1 0x10067300
|
||||
~LegoPartPresenter() override { Destroy(TRUE); }
|
||||
|
||||
// FUNCTION: LEGO1 0x1000cf70
|
||||
@@ -31,8 +34,15 @@ public:
|
||||
// SYNTHETIC: LEGO1 0x1000d060
|
||||
// LegoPartPresenter::`scalar deleting destructor'
|
||||
|
||||
inline void Reset() { m_partData = NULL; }
|
||||
|
||||
MxResult ParsePart(MxDSChunk& p_chunk);
|
||||
void FUN_1007df20();
|
||||
|
||||
private:
|
||||
void Destroy(MxBool p_fromDestructor);
|
||||
|
||||
MxDSChunk* m_partData; // 0x54
|
||||
};
|
||||
|
||||
#endif // LEGOPARTPRESENTER_H
|
||||
|
@@ -7,6 +7,7 @@
|
||||
// SIZE 0x54 (from inlined construction at 0x10009bb5)
|
||||
class LegoTexturePresenter : public MxMediaPresenter {
|
||||
public:
|
||||
LegoTexturePresenter() : m_textureData(NULL) {}
|
||||
~LegoTexturePresenter() override;
|
||||
|
||||
// FUNCTION: LEGO1 0x1000ce50
|
||||
@@ -28,6 +29,12 @@ public:
|
||||
|
||||
// SYNTHETIC: LEGO1 0x1000cf40
|
||||
// LegoTexturePresenter::`scalar deleting destructor'
|
||||
|
||||
MxResult ParseTexture(MxDSChunk& p_chunk);
|
||||
void FUN_1004f290();
|
||||
|
||||
private:
|
||||
MxDSChunk* m_textureData; // 0x54
|
||||
};
|
||||
|
||||
#endif // LEGOTEXTUREPRESENTER_H
|
||||
|
@@ -3,7 +3,11 @@
|
||||
|
||||
#include "legoentitypresenter.h"
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
class LegoWorld;
|
||||
struct ModelDbPart;
|
||||
struct ModelDbModel;
|
||||
|
||||
// VTABLE: LEGO1 0x100d8ee0
|
||||
// SIZE 0x54
|
||||
@@ -33,7 +37,9 @@ public:
|
||||
MxResult StartAction(MxStreamController* p_controller, MxDSAction* p_action) override; // vtable+0x3c
|
||||
void VTable0x60(MxPresenter* p_presenter) override; // vtable+0x60
|
||||
|
||||
void LoadWorld(char* p_worldName, LegoWorld* p_world);
|
||||
MxResult FUN_10067360(ModelDbPart& p_part, FILE* p_wdbFile);
|
||||
MxResult FUN_100674b0(ModelDbModel& p_model, FILE* p_wdbFile, LegoWorld* p_world);
|
||||
MxResult LoadWorld(char* p_worldName, LegoWorld* p_world);
|
||||
|
||||
// SYNTHETIC: LEGO1 0x10066750
|
||||
// LegoWorldPresenter::`scalar deleting destructor'
|
||||
|
Reference in New Issue
Block a user