Decompile MapObjectProfile (#52)

* delink mapobj profile

* match base mapobjectprofile classes

* match other sections (+ accidental mapobject ctor match)
This commit is contained in:
Yanis
2026-04-16 20:57:17 +02:00
committed by GitHub
parent 754eb10308
commit 34ef65d030
28 changed files with 716 additions and 346 deletions
+6 -6
View File
@@ -6,7 +6,7 @@
class UnkFileSystem1 {
public:
/* 00 (vtable) */
/* 04 */ void *mUnk_04;
/* 04 */ const char *mUnk_04;
/* 08 */ union {
void *mpFile;
void *volatile mpFile2;
@@ -14,7 +14,7 @@ public:
/* 0C */ size_t mFileSize;
/* 10 */
UnkFileSystem1(void *param1) :
UnkFileSystem1(const char *param1) :
mUnk_04(param1),
mpFile(NULL),
mFileSize(0) {}
@@ -36,7 +36,7 @@ public:
/* 14 */
UnkFileSystem5();
UnkFileSystem5(void *param1, unk32 param2, unk32 param3, u8 param4);
UnkFileSystem5(const char *param1, unk32 param2, unk32 param3, u8 param4);
// data_02043f08
/* 00 */ virtual ~UnkFileSystem5() override;
@@ -61,7 +61,7 @@ public:
/* 18 */ u8 mUnk_18;
/* 1C */
UnkFileSystem4(void *param1, unk32 param2, unk32 param3, unk32 param4); // func_02015628
UnkFileSystem4(const char *param1, unk32 param2, unk32 param3, unk32 param4); // func_02015628
// data_02043f24
/* 00 */ virtual ~UnkFileSystem4() override; // func_02015644 && func_02015650
@@ -73,7 +73,7 @@ public:
/* 00 (base) */
/* 10 */
UnkFileSystem3(void *param1) :
UnkFileSystem3(const char *param1) :
UnkFileSystem1(param1) {}
// data_02043f40
@@ -87,7 +87,7 @@ public:
/* 10 */ UnkFileSystem2_10 mUnk_10;
/* 14 */ unk8 mUnk_14;
UnkFileSystem2(void *param1, unk32 param2); // func_020156c8
UnkFileSystem2(const char *param1, unk32 param2); // func_020156c8
// data_02043f5c
/* 00 */ virtual ~UnkFileSystem2() override; // func_020156f4 && func_02015708
+3 -3
View File
@@ -5,8 +5,8 @@
//! TODO: temporary place until this is documented properly
extern "C" {
void MI_CpuFill16(int value, u16 *dst, size_t size);
void MI_CpuCopy16(u16 *src, u16 *dest, size_t size);
void MI_CpuFill16(int value, void *dst, size_t size);
void MI_CpuCopy16(void *src, void *dest, size_t size);
void MI_CpuFill32(int value, void *dest, size_t size);
// MI_CpuCopy32
// Stream32
@@ -16,7 +16,7 @@ void _MI_CpuCopy(void *src, void *dest, size_t size);
// CopySingle288
// CopySingle384
// CopySingle512
void MI_CpuFill8(u8 *dst, int value, size_t size);
void MI_CpuFill8(void *dst, int value, size_t size);
// Copy
// Zero288
// Swap32
+23 -13
View File
@@ -4,29 +4,39 @@
#include "types.h"
class MapObject_20;
class MapObjectProfile;
class UnkStruct_ov000_020b5d34_00 {
public:
unk32 *mUnk_00;
MapObject_20 *mUnk_04;
Vec3p *mUnk_08;
unk16 mUnk_0C;
};
class UnkStruct_ov000_020b5d34_0C {
public:
unk16 mUnk_00;
/* 00 */ unk32 *mUnk_00;
/* 04 */ MapObject_20 *mUnk_04;
/* 08 */ Vec3p *mUnk_08;
/* 0C */ s16 *mUnk_0C;
/* 10 */
};
class UnkStruct_ov000_020b5d34 {
public:
/* 00 */ UnkStruct_ov000_020b5d34_00 *mUnk_00;
/* 04 */ MapObjectProfile *mpProfile;
/* 08 */ unk32 mUnk_08;
UnkStruct_ov000_020b5d34_0C *mUnk_0C;
/* 08 */
UnkStruct_ov000_020b5d34();
~UnkStruct_ov000_020b5d34();
UnkStruct_ov000_020b5d34() {
this->mUnk_00 = NULL;
this->mpProfile = NULL;
}
~UnkStruct_ov000_020b5d34() {}
MapObjectProfile *func_ov000_0209c6b8(unk32 param1);
void func_ov000_0209c6f0();
static unk32 func_ov000_0209c718(u32 param1);
};
template <typename T> struct UnkStruct_ov000_020b5d34_Instance {
static T data_ov000_020b5d34;
};
#define data_ov000_020b5d34 UnkStruct_ov000_020b5d34_Instance<UnkStruct_ov000_020b5d34>::data_ov000_020b5d34
extern UnkStruct_ov000_020b5d34 data_ov000_020b5d34;