Decompile overlay 24 (Part 2) (#66)

* remove scratch links

* UnkAdventureModeSystem1 OK

* UnkStruct_ov024_020d8694_024 OK

* UnkTitleCardSystem1_024 99%

* UnkTitleCardSystem1_024 OK

* fix regressions

* title card vfunc_08 oddity

* tools: make build.ninja deterministic and delink when objdiff rebuild-on-change

* clean up link node mess

* UnkStruct_020d8698_024 24%

* UnkStruct_020d8698_024 49%

* UnkStruct_020d8698_024 65%

* fix build issues

* UnkStruct_020d8698_024 92%

* UnkStruct_020d8698_024 OK

* delink data_ov024_020d8694 symbol

* tools: revert previous objdiff change and reduce ds-rom logs on objdiff
This commit is contained in:
Yanis
2026-05-24 17:20:48 +02:00
committed by GitHub
parent 0698c28bb0
commit 530fcd8c07
100 changed files with 4150 additions and 1201 deletions
+8 -14
View File
@@ -115,10 +115,10 @@ public:
void func_ov000_02066218(unk32 param1);
};
class AdventureModeManager_160_18 {
class AdventureModeManager_160_18 : public LinkList<AdventureModeManager_160_18> {
public:
/* 00 (vtable) */
/* 04 */
/* 04 (base) */
/* 00 */ virtual void vfunc_00();
/* 04 */ virtual void vfunc_04();
@@ -695,7 +695,8 @@ public:
class AdventureModeManager_1A0 : public AdventureModeManager_174_Base {
public:
/* 00 (base) */
/* 0C */ STRUCT_PAD(0x0C, 0xBC);
/* B8 */ unk32 mUnk_B8;
/* BC */
AdventureModeManager_1A0(GameModeManagerBase_104 *param1); // overlay 62
@@ -712,7 +713,8 @@ public:
class AdventureModeManager_1A4 : public AdventureModeManager_174_Base {
public:
/* 00 (base) */
/* 0C */ STRUCT_PAD(0x0C, 0xBC);
/* B8 */ unk32 mUnk_B8;
/* BC */
AdventureModeManager_1A4(GameModeManagerBase_104 *param1); // overlay 62
@@ -762,14 +764,6 @@ public:
/* 34 */ STRUCT_PAD(0x34, 0x50);
/* 50 */
GameModeLinkListNode *GetNode() {
GameModeLinkListNode *node = (GameModeLinkListNode *) this;
if (node != NULL) {
node = (GameModeLinkListNode *) ((u32 *) node + 1);
}
return node;
}
AdventureModeManager_1B0(); // overlay 31
void func_ov031_0210fad0();
@@ -957,7 +951,7 @@ public:
/* 20 */ virtual void vfunc_20() override;
/* 24 */ virtual void vfunc_24() override;
/* 28 */ virtual void vfunc_28(unk8 *param1) override;
/* 2C */ virtual void vfunc_2C(unk8 *param1) override;
/* 2C */ virtual void DrawUI(unk8 *param1) override;
/* 34 */ virtual void vfunc_34(unk32 param1, unk32 param2) override;
/* 38 */ virtual void vfunc_38(u32 param1, u8 param2, unk16 param3, unk16 param4) override;
@@ -991,7 +985,7 @@ public:
bool func_ov024_020c6940(unk32 param1, unk32 param2);
unk32 func_ov024_020c69d0();
unk32 func_ov024_020c6a20();
void func_ov024_020c6a48(unk32 param1, unk32 param2);
void func_ov024_020c6a48(unk32 param1, bool param2);
bool func_ov024_020c6af4(unk32 param1);
void func_ov024_020c6b8c();
void func_ov024_020c6c60();
+18 -1
View File
@@ -2,6 +2,7 @@
#include "types.h"
typedef s32 CargoType;
enum CargoType_ {
CargoType_None = -1,
CargoType_MegaIce,
@@ -16,7 +17,7 @@ enum CargoType_ {
class Cargo {
public:
/* 00 */ unk32 mType;
/* 00 */ CargoType mType;
/* 04 */ unk32 mAmount;
/* 08 */ u32 mDecayTimer;
/* 0C */
@@ -36,6 +37,18 @@ public:
this->mAmount = 0;
this->mDecayTimer = 0;
}
CargoType GetType() {
return this->mType;
}
bool IsTypeSet() {
return this->mType != CargoType_None;
}
unk32 GetAmount() {
return this->mAmount;
}
};
class CargoManager : public AutoInstance<CargoManager> {
@@ -46,6 +59,10 @@ public:
/* 1C */ bool mUnk_1C;
/* 20 */
Cargo *GetCargo() {
return &this->mCargo;
}
// overlay 1
CargoManager();
~CargoManager();
+15 -7
View File
@@ -3,19 +3,27 @@
#include "Unknown/Common.hpp"
#include "types.h"
#include <nitro/math.h>
struct UnkAdventureModeSystem1_48 {
/* 00 */ STRUCT_PAD(0x00, 0x2A);
/* 2A */ bool mUnk_2A;
};
class UnkAdventureModeSystem1 {
public:
/* 00 (vtable) */
/* 04 */ UnkSystem2_UnkSubSystem9 mUnk_04;
/* 48 */
/* 48 */ UnkAdventureModeSystem1_48 *mUnk_48;
/* 4A */
UnkAdventureModeSystem1(unk16 *param1, unk16 *param2, unk32 param3);
UnkAdventureModeSystem1(unk32 param3);
UnkAdventureModeSystem1(Vec2s *param1, Vec2s *param2, bool param3);
UnkAdventureModeSystem1(bool param3);
// data_ov024_020d7f7c
/* 00 */ virtual void vfunc_00() = 0;
/* 00 */ virtual unk32 vfunc_00(unk32 param1) = 0;
void func_ov024_020cab58();
void func_ov024_020caba4();
void func_ov024_020cad7c();
void func_ov024_020cab58(Vec2s *param1, Vec2s *param2);
bool func_ov024_020caba4(unk32 param1);
bool func_ov024_020cad7c(unk32 param1);
};