Decompile overlay 1 (Part 4) (#97)

* UnkStruct_027e095c_001 OK

* UnkStruct_027e095c_001 OK (JP)

* SysNew_001 OK

* SaveManager_001 98%

* UnkStruct_027e09bc_001 OK

* MapObjectManager_001 OK

* ActorManager_001 OK

* remove useless thumb pragmas

* ItemManager_001 OK

* fix regressions

* fix build issues
This commit is contained in:
Yanis
2026-07-02 20:56:08 +02:00
committed by GitHub
parent 66eb66f081
commit f0dfb70749
73 changed files with 1223 additions and 440 deletions
+10
View File
@@ -1210,3 +1210,13 @@ public:
// data_ov000_020b2940
/* 00 */ virtual void vfunc_00();
};
class UnkSystem9 : public LinkList<UnkSystem9> {
public:
/* 00 (vtable) */
/* 04 (base) */
/* 0C */
// data_ov000_020b24c4
/* 00 */ virtual void vfunc_00();
};
+1
View File
@@ -15,6 +15,7 @@ public:
UnkStruct_02049b80();
void func_02013ecc(unk32 param1, UnkCallback param2, unk32 param3);
void func_02013ee8(unk32 param1, unk32 param2);
void func_02013f80(unk32 param1);
};
extern UnkStruct_02049b80 data_02049b80;
+20 -1
View File
@@ -1,12 +1,31 @@
#pragma once
#include "global.h"
#include "math.hpp"
#include "types.h"
#include "versions.h"
class UnkStruct_027e095c : public AutoInstance<UnkStruct_027e095c> {
public:
/* 000 */ unk32 mUnk_000;
#if IS_JP
/* 000 */ VecFx32 mUnk_000[64];
/* 300 */ unk32 mUnk_2F4;
/* 304 */ STRUCT_PAD(0x304, 0x900);
/* 900 */ void *mUnk_8DC;
/* 904 */ unk32 mUnk_8E0;
/* 908 */ STRUCT_PAD(0x908, 0x964);
/* 960 */ void *mUnk_940;
/* 968 */
#else
/* 000 */ VecFx32 mUnk_000[63];
/* 2F4 */ unk32 mUnk_2F4;
/* 2F8 */ STRUCT_PAD(0x2F8, 0x8DC);
/* 8DC */ void *mUnk_8DC;
/* 8E0 */ unk32 mUnk_8E0;
/* 8E4 */ STRUCT_PAD(0x8E4, 0x940);
/* 940 */ void *mUnk_940;
/* 944 */
#endif
UnkStruct_027e095c();
~UnkStruct_027e095c() {}
+1
View File
@@ -12,6 +12,7 @@ struct UnkStruct_func_ov000_020702a8 {
/* 10 */ Vec2s mUnk_10;
/* 14 */ STRUCT_PAD(0x14, 0x20);
/* 20 */ unk16 mUnk_20;
/* 22 */ unk16 mUnk_22;
};
class CourseInitBinary {
+42 -5
View File
@@ -1,33 +1,70 @@
#pragma once
#include "Unknown/Common.hpp"
#include "Unknown/UnkStruct_0204a060.hpp"
#include "global.h"
#include "types.h"
class UnkStruct_027e09bc_0C {
public:
/* 00 */ STRUCT_PAD(0x00, 0x34);
/* 34 */ VecFx32 mUnk_34;
/* 000 (vtable) */
/* 004 */ STRUCT_PAD(0x04, 0x34);
/* 034 */ VecFx32 mUnk_034;
/* 040 */ STRUCT_PAD(0x40, 0x264);
/* 264 */ unk32 mUnk_264;
/* 268 */ STRUCT_PAD(0x268, 0x280);
/* 280 */ unk32 mUnk_280;
/* 284 */
UnkStruct_027e09bc_0C(unk32 param1);
// data_ov000_020b24b4
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04();
/* 08 */ virtual ~UnkStruct_027e09bc_0C();
/* 10 */
// itcm
bool func_01ffd640(VecFx32 *param1);
// overlay 0
void func_ov000_02078230(unk32 param1);
bool func_ov000_0207834c(VecFx32 *param1, unk32 param2, unk32 param3);
bool func_ov000_02078764(VecFx32 *param1, void *param2, unk32 param3);
void func_ov000_02078ba4();
void func_ov000_02078cec();
};
class UnkStruct_027e09bc_24 : public UnkStruct_0204a060_Base {
public:
/* 00 (base) */
/* 24 */
UnkStruct_027e09bc_24();
// data_ov000_020b2488
/* 0C */ virtual bool vfunc_0C(void) override;
};
class UnkStruct_027e09bc : public AutoInstance<UnkStruct_027e09bc> {
public:
/* 00 */ unk32 mUnk_00;
/* 00 (vtable) */
/* 04 */ UnkStruct_027e09bc_0C *mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */ UnkStruct_027e09bc_0C *mUnk_0C;
/* 10 */ STRUCT_PAD(0x10, 0x48);
/* 48 */ UnkSystem8 mUnk_48;
/* 10 */ UnkStruct_027e09bc_0C *mUnk_10;
/* 14 */ UnkStruct_027e09bc_0C *mUnk_14[4];
/* 24 */ UnkStruct_027e09bc_24 mUnk_24;
/* 48 */ UnkSystem9 mUnk_48;
UnkStruct_027e09bc();
~UnkStruct_027e09bc();
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04();
// overlay 0
void func_ov000_020771b8(unk32 param1);
void func_ov000_020771c8();
// overlay 1
@@ -30,6 +30,8 @@ public:
MapObjectProfile *GetProfileFromId(MapObjectId mapObjId);
MapObject *CreateMapObject(MapObjectId mapObjId);
MapObjectProfile **func_ov000_0209c6a0();
MapObjectProfile **func_ov000_0209c6ac();
static unk32 func_ov000_0209c718(u32 param1);
};
@@ -0,0 +1,24 @@
#pragma once
#include "global.h"
#include "types.h"
class UnkStruct_ov020_020e8544 {
public:
/* 00 (vtable) */
UnkStruct_ov020_020e8544();
~UnkStruct_ov020_020e8544();
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04();
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 10 */ virtual void vfunc_10();
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 1C */ virtual void vfunc_1C();
/* 20 */ virtual unk32 vfunc_20();
};
extern UnkStruct_ov020_020e8544 *data_ov020_020e8544;