Decompile overlay 1 (Part 7) (#106)

* run ninja format

* delink what's left from overlay 1 (except dsprotect)

* fix regressions

* UnkStruct_027e0ce0_1C_001 97%

* UnkStruct_0204a110_001 OK

* UnkStruct_ov024_020d86a0_001 OK

* UnkStruct_ov000_020b50c0_001 OK

* GameModeCreate OK

* AdventureModeManager_001 OK

* GameModeAdventure_001 OK

* AdventureModeManager_001 OKn't because weak issues

* ZeldaCollisionBinary OK

* UnkStruct_027e09c0_001 OK

* UnkStruct_ov000_020b504c_001 OK

* UnkStruct_ov000_02067bc4.hpp -> UnkStruct_ov000_020b504c.hpp

* match overlay 97

* match overlay 100

* run ninja format
This commit is contained in:
Yanis
2026-07-13 18:41:32 +02:00
committed by GitHub
parent 4daa8d8e86
commit 8d759ee331
138 changed files with 3528 additions and 1057 deletions
+18 -2
View File
@@ -5,7 +5,6 @@
#include "Render/ModelRender.hpp"
#include "Unknown/Common.hpp"
#include "Unknown/UnkStruct_027e09a4.hpp"
#include "Unknown/UnkStruct_ov000_0208f820.hpp"
#include "math.hpp"
#include "types.h"
@@ -38,7 +37,10 @@ struct UnkStruct_ov000_020ab4dc {
/* 66 */ unk16 mUnk_70;
/* 66 */ unk16 mUnk_72;
/* 74 */ s16 mUnk_74;
/* 78 */ STRUCT_PAD(0x78, 0x9C);
/* 78 */ STRUCT_PAD(0x76, 0x86);
/* 86 */ u8 mUnk_86[7];
/* 8D */ STRUCT_PAD(0x8D, 0x98);
/* 98 */ unk32 mUnk_98;
/* 9C */
};
extern const UnkStruct_ov000_020ab4dc data_ov000_020ab4dc[PlayerCharacter_Max];
@@ -66,6 +68,20 @@ inline bool PlayerCharacter_IsNotLink2(PlayerCharacter character) {
return ret;
}
class UnkStruct_PlayerGet_64 {
public:
/* 00 */ ActorRef *mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ u16 mUnk_08; // makes link invisible when set
/* 0A */ unk16 mUnk_0A;
/* 0C */
UnkStruct_PlayerGet_64(void *param1);
~UnkStruct_PlayerGet_64();
void func_ov000_0208a100();
};
class ModelRender_Derived3 : public ModelRender {
public:
/* 00 (base) */
+109 -2
View File
@@ -5,6 +5,81 @@
class UnkStruct_027e0ce0_40;
class PlayerLinkActor_A0_38;
class PlayerLinkActor_A0_04 {
public:
/* 00 */ unk32 mUnk_00;
// overlay 0
void func_ov000_02088268();
};
class PlayerLinkActor_A0_10 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 00 */ virtual ~PlayerLinkActor_A0_10();
// overlay 31
void func_ov031_020e076c();
};
class PlayerLinkActor_A0_14 {
public:
/* 00 */ unk32 mUnk_00;
/* 00 */ virtual ~PlayerLinkActor_A0_14();
};
class PlayerLinkActor_A0_18 {
public:
/* 00 */ unk32 mUnk_00;
~PlayerLinkActor_A0_18();
// overlay 82
void func_ov082_02157bb8();
};
class PlayerLinkActor_A0_1C {
public:
/* 00 */ unk32 mUnk_00;
// overlay 101
void func_ov101_02183290();
};
class PlayerLinkActor_A0_28 {
public:
/* 00 */ unk32 mUnk_00;
/* 04 */ unk32 mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */
PlayerLinkActor_A0_28(PlayerLinkActor_A0_10 *param1, PlayerLinkActor_A0_14 *param2);
~PlayerLinkActor_A0_28();
};
class PlayerLinkActor_A0_2C {
public:
/* 00 */ unk32 mUnk_00;
PlayerLinkActor_A0_2C();
// overlay 0
void func_ov000_0208e704();
};
class PlayerLinkActor_A0_34 {
public:
/* 00 */ unk32 mUnk_00;
PlayerLinkActor_A0_34();
// overlay 0
void func_ov000_02082748();
};
class PlayerLinkActor_A0_38_04_Base : public LinkList<PlayerLinkActor_A0_38_04_Base> {
public:
/* 00 (vtable) */
@@ -69,17 +144,49 @@ public:
class PlayerLinkActor_A0 {
public:
/* 00 */ STRUCT_PAD(0x00, 0x38);
/* 00 */ unk32 mUnk_00;
/* 04 */ PlayerLinkActor_A0_04 *mUnk_04;
/* 08 */ unk32 mUnk_08;
/* 0C */ unk32 mUnk_0C;
/* 10 */ PlayerLinkActor_A0_10 *mUnk_10;
/* 14 */ PlayerLinkActor_A0_14 *mUnk_14;
/* 18 */ PlayerLinkActor_A0_18 *mUnk_18;
/* 1C */ PlayerLinkActor_A0_1C *mUnk_1C;
/* 20 */ PlayerLinkActor_A0_38 *mUnk_20;
/* 24 */ void *mUnk_24;
/* 28 */ PlayerLinkActor_A0_28 *mUnk_28;
/* 2C */ PlayerLinkActor_A0_2C mUnk_2C;
/* 30 */ unk32 mUnk_30;
/* 34 */ PlayerLinkActor_A0_34 mUnk_34;
/* 38 */ PlayerLinkActor_A0_38 *mUnk_38;
/* 3C */ STRUCT_PAD(0x3C, 0x94);
/* 3C */ STRUCT_PAD(0x3C, 0x5C);
/* 5C */ UnkStruct_PlayerGet_64 mUnk_5C;
/* 68 */ unk32 mUnk_68;
/* 6C */ unk32 mUnk_6C;
/* 70 */ u32 mUnk_70;
/* 74 */ unk32 mUnk_74;
/* 78 */ bool mUnk_78;
/* 79 */ STRUCT_PAD(0x79, 0x7D);
/* 7D */ bool mUnk_7D;
/* 7E */ bool mUnk_7E;
/* 80 */ void *mUnk_80;
/* 84 */ unk32 mUnk_84;
/* 88 */ unk32 mUnk_88;
/* 8C */ unk32 mUnk_8C;
/* 90 */ unk32 mUnk_90;
/* 94 */
PlayerLinkActor_A0(unk32 param1, UnkStruct_027e0ce0_40 *param2, PlayerActorBase *pPlayer, PlayerLinkActor_9C *param4);
~PlayerLinkActor_A0();
// overlay 0
bool func_ov000_02091f08(unk32 param1);
void func_ov000_020921e4(unk32 param1);
void func_ov000_02091ea0();
void func_ov000_020936ec();
u32 func_ov000_02093718();
u8 func_ov000_0209378c(); // bool?
void func_ov000_02093a04();
// overlay 1
void func_ov001_020bd2e0();