Decompile overlay 17 (CourseExec Part 1) (#152)

* day 1

* delink overlay 17

* UnkStruct_027e0ce0_30_017 & UnkStruct_027e0ce0_40_017

* ItemManager_017 OK

* UnkStruct_027e0ce0_40_Base_94_017 95%

* UnkStruct_027e0ce0_017 OK

* PlayerLinkActor_017 OK

* PlayerLinkActor_A0_20_017 OK

* code_020be2ec_017 99%

* ActorManager_017 OK

* Actor_017 OK

* ActorEventIcon_017 OK

* code_020be2ec_017 OK

* MapObjectManager_017 97%

* MapObject_017 OK

* MapObjectSwitchStep_017 OK

* fix build issues

* fix other versions build issues
This commit is contained in:
Yanis
2026-10-02 13:18:22 +02:00
committed by GitHub
parent 58b1255fd4
commit 205dc5a1ca
260 changed files with 5554 additions and 2047 deletions
+42 -4
View File
@@ -12,6 +12,7 @@
#include "types.h"
class MapObjectProfile;
class UnkStruct_027e09bc_0C;
typedef u16 MapObjFlags;
enum MapObjFlag_ {
@@ -148,10 +149,10 @@ public:
/* 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(s8 *param1, s8 param2);
/* 14 */ virtual void vfunc_14(unk32 param1);
/* 18 */ virtual void vfunc_18(s8 *param1);
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3);
/* 20 */ virtual void vfunc_20();
/* 20 */ virtual void vfunc_20(unk32 param1);
/* 24 */ virtual void vfunc_24(MapObject *param1, VecFx32 param2);
/* 28 */ virtual unk32 vfunc_28(unk32 param1, unk32 param2, unk32 param3);
/* 2C */ virtual bool vfunc_2C(VecFx32 *param1);
@@ -177,14 +178,51 @@ public:
UNSET_FLAG(this->mFlags, MapObjFlag_Alive);
}
// clang-format off
/* x & 0x00000001 */ const bool IsAlive() { return GET_FLAG(this->mFlags, MapObjFlag_Alive); }
/* x & 0x00000002 */ const bool IsFlag1() { return GET_FLAG(this->mFlags, MapObjFlag_1); }
/* x & 0x00000004 */ const bool IsFlag2() { return GET_FLAG(this->mFlags, MapObjFlag_2); }
/* x & 0x00000008 */ const bool IsFlag3() { return GET_FLAG(this->mFlags, MapObjFlag_3); }
/* x & 0x00000010 */ const bool IsFlag4() { return GET_FLAG(this->mFlags, MapObjFlag_4); }
/* x & 0x00000020 */ const bool IsFlag5() { return GET_FLAG(this->mFlags, MapObjFlag_5); }
/* x & 0x00000040 */ const bool IsFlag6() { return GET_FLAG(this->mFlags, MapObjFlag_6); }
/* x & 0x00000080 */ const bool IsFlag7() { return GET_FLAG(this->mFlags, MapObjFlag_7); }
/* x & 0x00000100 */ const bool IsFlag8() { return GET_FLAG(this->mFlags, MapObjFlag_8); }
/* x & 0x00000200 */ const bool IsFlag9() { return GET_FLAG(this->mFlags, MapObjFlag_9); }
/* x & 0x00000400 */ const bool IsFlag10() { return GET_FLAG(this->mFlags, MapObjFlag_10); }
/* x & 0x00000800 */ const bool IsFlag11() { return GET_FLAG(this->mFlags, MapObjFlag_11); }
/* x & 0x00001000 */ const bool IsFlag12() { return GET_FLAG(this->mFlags, MapObjFlag_12); }
/* x & 0x00002000 */ const bool IsFlag13() { return GET_FLAG(this->mFlags, MapObjFlag_13); }
/* x & 0x00004000 */ const bool IsFlag14() { return GET_FLAG(this->mFlags, MapObjFlag_14); }
/* x & 0x00008000 */ const bool IsFlag15() { return GET_FLAG(this->mFlags, MapObjFlag_15); }
/* x & 0x00010000 */ const bool IsFlag16() { return GET_FLAG(this->mFlags, MapObjFlag_16); }
/* x & 0x00020000 */ const bool IsFlag17() { return GET_FLAG(this->mFlags, MapObjFlag_17); }
/* x & 0x00040000 */ const bool IsFlag18() { return GET_FLAG(this->mFlags, MapObjFlag_18); }
/* x & 0x00080000 */ const bool IsFlag19() { return GET_FLAG(this->mFlags, MapObjFlag_19); }
/* x & 0x00100000 */ const bool IsFlag20() { return GET_FLAG(this->mFlags, MapObjFlag_20); }
/* x & 0x00200000 */ const bool IsFlag21() { return GET_FLAG(this->mFlags, MapObjFlag_21); }
/* x & 0x00400000 */ const bool IsFlag22() { return GET_FLAG(this->mFlags, MapObjFlag_22); }
/* x & 0x00800000 */ const bool IsFlag23() { return GET_FLAG(this->mFlags, MapObjFlag_23); }
/* x & 0x01000000 */ const bool IsFlag24() { return GET_FLAG(this->mFlags, MapObjFlag_24); }
/* x & 0x02000000 */ const bool IsFlag25() { return GET_FLAG(this->mFlags, MapObjFlag_25); }
/* x & 0x04000000 */ const bool IsFlag26() { return GET_FLAG(this->mFlags, MapObjFlag_26); }
/* x & 0x08000000 */ const bool IsFlag27() { return GET_FLAG(this->mFlags, MapObjFlag_27); }
/* x & 0x10000000 */ const bool IsFlag28() { return GET_FLAG(this->mFlags, MapObjFlag_28); }
/* x & 0x20000000 */ const bool IsFlag29() { return GET_FLAG(this->mFlags, MapObjFlag_29); }
/* x & 0x40000000 */ const bool IsFlag30() { return GET_FLAG(this->mFlags, MapObjFlag_30); }
/* x & 0x80000000 */ const bool IsFlag31() { return GET_FLAG(this->mFlags, MapObjFlag_31); }
// clang-format on
MapObject();
// itcm
MapObjectId GetMapObjectId();
unk32 func_01fff590(unk32 param2);
// overlay 0
bool func_ov000_0209d114();
bool func_ov000_0209d12c();
bool func_ov000_0209d144(Vec2s *param1, unk32 param2, unk32 param3);
bool func_ov000_0209d144(Vec2s *param1, unk32 param2, UnkStruct_027e09bc_0C *param3);
void func_ov000_0209d274(unk32 param1);
bool func_ov000_0209d29c(unk32 param1);
void func_ov000_0209d2c4(unk32 param1, bool param2);
+1 -1
View File
@@ -35,7 +35,7 @@ public:
MapObjectBombFlower();
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
/* 28 */ virtual unk32 vfunc_28(unk32 param1, unk32 param2, unk32 param3) override;
/* 38 */ virtual void vfunc_38() override;
+2 -2
View File
@@ -62,8 +62,8 @@ public:
/* 04 */ virtual void vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14() override;
/* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 18 */ virtual void vfunc_18(s8 *param1) override;
/* 28 */ virtual ItemId vfunc_28(unk32 param1, unk32 param2, unk32 param3) override;
/* 30 */ virtual ~MapObjectChestBase() override;
/* 38 */ virtual void vfunc_38(unk32 param1, unk32 param2);
+1 -1
View File
@@ -88,7 +88,7 @@ public:
/* 90 */
void func_ov031_020fbf10(bool param1, bool param2);
void func_ov031_020fcb78(s8 *param1, s8 param2);
void func_ov031_020fcb78(s8 *param1);
void func_ov031_020fcd40();
void func_ov031_020fcf0c(unk32 param1);
bool func_ov031_020fcf30();
+2 -2
View File
@@ -43,8 +43,8 @@ public:
/* 00 */ virtual bool vfunc_00() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14() override;
/* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 18 */ virtual void vfunc_18(s8 *param1) override;
/* 28 */ virtual unk32 vfunc_28(unk32 param1, unk32 param2, unk32 param3) override;
/* 30 */ virtual ~MapObjectDoorClick() override {}
/* 40 */ virtual void vfunc_40() override;
@@ -60,8 +60,8 @@ public:
/* 04 */ virtual void vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14() override;
/* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 18 */ virtual void vfunc_18(s8 *param1) override;
/* 30 */ virtual ~MapObjectDoorDangerSpawn() override;
// (MapObject_UnkStruct1_Derived1)
+2 -2
View File
@@ -34,8 +34,8 @@ public:
/* 00 */ virtual bool vfunc_00() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14() override;
/* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 18 */ virtual void vfunc_18(s8 *param1) override;
/* 28 */ virtual unk32 vfunc_28(unk32 param1, unk32 param2, unk32 param3) override;
/* 30 */ virtual ~MapObjectDoorKey() override;
/* 40 */ virtual void vfunc_40() override;
+2 -2
View File
@@ -42,8 +42,8 @@ public:
// data_ov031_0211527c (MapObject)
/* 00 */ virtual bool vfunc_00() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14() override;
/* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 18 */ virtual void vfunc_18(s8 *param1) override;
/* 30 */ virtual ~MapObjectDoorSwitch() override;
/* 40 */ virtual void vfunc_40() override;
/* 44 */ virtual void vfunc_44() override;
+1 -1
View File
@@ -39,7 +39,7 @@ public:
/* 00 */ virtual bool vfunc_00() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
/* 38 */ virtual bool vfunc_38(MapObjState state, unk32 param2);
/* 3C */ virtual void vfunc_3C(VecFx32 *param1);
+15
View File
@@ -66,6 +66,21 @@ public:
static MapObjectManager *Create();
static void Destroy();
// overlay 5
void func_ov005_020b6570(unk32 param1);
// overlay 17
bool func_ov017_020c007c(unk32 param1);
void func_ov017_020c00dc(unk32 param1);
void func_ov017_020c01c8(void *param1);
void func_ov017_020c01cc(unk32 param1);
void func_ov017_020c023c(s8 *param1);
void func_ov017_020c02ac(volatile unk32 param1, Vec2bCpp param2);
void func_ov017_020c02f4(volatile unk32 param1, VecFx32 *param2);
unk32 func_ov017_020c050c(unk32 param1, unk32 param2, unk32 param3, unk32 param4);
static void func_ov017_020c033c(unk32 *param1, MapObjectManager *thisx, const Vec2s *param2, unk32 param3, unk32 param4);
};
extern MapObjectManager *gpMapObjManager;
+1 -1
View File
@@ -15,7 +15,7 @@ public:
MapObjectMiniBlocks();
/* 00 */ virtual bool vfunc_00() override;
/* 14 */ virtual void vfunc_14() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 30 */ virtual ~MapObjectMiniBlocks() override;
};
+1 -1
View File
@@ -14,7 +14,7 @@ public:
MapObjectPot();
/* 04 */ virtual void vfunc_04() override; // func_ov031_02105088
/* 14 */ virtual void vfunc_14() override; // func_ov031_021052cc
/* 14 */ virtual void vfunc_14(unk32 param1) override; // func_ov031_021052cc
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3); // func_ov031_021050b4
/* 24 */ virtual void vfunc_24(MapObject *param1, VecFx32 param2) override; // func_ov031_02105348
/* 3C */ virtual bool vfunc_3C() override; // func_ov031_021053b4
+5 -5
View File
@@ -39,10 +39,10 @@ public:
/* A4 */ UnkSystem5 mUnk_A4;
/* C4 */ unk32 mUnk_C4;
/* C8 */ STRUCT_PAD(0xC8, 0xE4);
/* E4 */ u16 mUnk_E4;
/* E4 */ volatile u16 mUnk_E4;
/* E6 */ u16 mUnk_E6;
/* E8 */ unk16 mUnk_E8;
/* EA */ unk8 mUnk_EA;
/* EA */ u8 mUnk_EA; // bool?
/* EB */ unk8 mUnk_EB;
/* EC */
@@ -50,9 +50,9 @@ public:
/* 00 */ virtual bool vfunc_00() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14() override;
/* 18 */ virtual void vfunc_18(s8 *param1, s8 param2) override;
/* 20 */ virtual void vfunc_20() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 18 */ virtual void vfunc_18(s8 *param1) override;
/* 20 */ virtual void vfunc_20(unk32 param1) override;
/* 30 */ virtual ~MapObjectSwitchStep() override;
void func_ov000_0209dda4(void);
+1 -1
View File
@@ -32,7 +32,7 @@ public:
/* 00 */ virtual bool vfunc_00() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
/* 28 */ virtual unk32 vfunc_28(unk32 param1, unk32 param2, unk32 param3) override;
+1 -1
View File
@@ -23,7 +23,7 @@ public:
/* 00 */ virtual bool vfunc_00() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
void func_ov063_02161254(unk32 param1);
+1 -1
View File
@@ -35,7 +35,7 @@ public:
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 0C */ virtual void vfunc_14();
/* 0C */ virtual void vfunc_14(unk32 param1);
/* 30 */ virtual ~MapObjectUnkPTFL() override;
// overlay 70
+1 -1
View File
@@ -38,7 +38,7 @@ public:
/* 08 */ virtual void vfunc_08();
/* 0C */ virtual void vfunc_0C();
/* 0C */ virtual void vfunc_14();
/* 0C */ virtual void vfunc_14(unk32 param1);
/* 30 */ virtual ~MapObjectUnkSAND() override;
void func_ov031_0210acd4(void);
+1 -1
View File
@@ -44,7 +44,7 @@ public:
/* 04 */ virtual void vfunc_04() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
/* 38 */ virtual unk32 vfunc_38();
/* 3C */ virtual unk32 vfunc_3C();
+1 -1
View File
@@ -26,7 +26,7 @@ public:
/* 00 */ virtual bool vfunc_00() override; // Init
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 30 */ virtual ~MapObjectUnkSTAT() override;
void func_ov063_0215f6d0(void);
+1 -1
View File
@@ -34,7 +34,7 @@ public:
/* 00 */ virtual bool vfunc_00() override;
/* 08 */ virtual void vfunc_08() override;
/* 0C */ virtual void vfunc_0C() override;
/* 14 */ virtual void vfunc_14() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
/* 30 */ virtual ~MapObjectUnkSWHT() override;
+1 -1
View File
@@ -58,7 +58,7 @@ public:
/* 00 */ virtual bool vfunc_00() override;
/* 08 */ virtual void vfunc_08() override;
/* 14 */ virtual void vfunc_14() override;
/* 14 */ virtual void vfunc_14(unk32 param1) override;
/* 1C */ virtual bool vfunc_1C(ActorRef param1, unk32 param2, VecFx32 *param3) override;
/* 38 */ virtual void vfunc_38();
/* 3C */ virtual void vfunc_3C(unk32 param1);