Decompile overlay 1 (Part 3) (#95)

* ZeldaArrangeBinary OK

* ZeldaMapBinary 26%

* UnkStruct_SceneChange1 -> EntranceInfo

* cleanup EntranceInfo ctors

* fix regressions

* ZeldaMapBinary 47%

* fix regressions

* ZeldaMapBinary 73%

* ZeldaMapBinary 89%

* ZeldaMapBinary 99%
This commit is contained in:
Yanis
2026-07-01 04:09:04 +02:00
committed by GitHub
parent 6ea40b4493
commit 4074a603d2
76 changed files with 1924 additions and 643 deletions
+2 -2
View File
@@ -1073,7 +1073,7 @@ struct UnkDataStruct4_14_2 {
/* 12C */
};
struct UnkStruct_SceneChange1;
struct EntranceInfo;
struct UnkDataStruct4 {
/* 00 (vtable) */
/* 04 */ u16 mUnk_04;
@@ -1097,7 +1097,7 @@ struct UnkDataStruct4 {
void func_ov024_020d2518();
void func_ov024_020d251c();
void func_ov024_020d2520(UnkStruct_SceneChange1 *param1);
void func_ov024_020d2520(EntranceInfo *param1);
void func_ov024_020d2538(u32 sceneIndex, u8 roomIndex, UnkDataStruct4_14_2 *param3);
void func_ov024_020d2564();
void func_ov024_020d258c(u32 sceneIndex, u8 roomIndex);
+10 -5
View File
@@ -68,18 +68,23 @@ public:
~UnkStruct_027e0960();
// overlay 0
void func_ov000_0205a11c();
void func_ov000_0205a120();
void func_ov000_0205a160();
void func_ov000_0205a164();
void func_ov000_0205a1a4();
void func_ov000_0205a1fc(u8 nEntries);
void func_ov000_0205a288(unk32 index, const ZMBEntryRALB *pEntry);
void func_ov000_0205a2a4(volatile unk32 index, ZMBRALBPoint *pPoint);
void func_ov000_0205a2c8();
UnkStruct_027e0960_TableEntry *func_ov000_0205a390(u8 param1);
UnkStruct_027e0960_TableEntry *func_ov000_0205a3fc(VecFx32 param1, unk32 param4);
static UnkStruct_027e0960 *Create();
// overlay 1
void func_ov000_0205a11c();
void func_ov000_0205a120();
void func_ov000_0205a160();
void func_ov000_0205a164();
static void Destroy();
};
// path manager?
extern UnkStruct_027e0960 *data_027e0960;
+91 -60
View File
@@ -5,6 +5,7 @@
#include "System/SysNew.hpp"
#include "Unknown/UnkStruct_0204a060.hpp"
#include "Unknown/UnkStruct_027e09a0.hpp"
#include "files.h"
#include "global.h"
#include "iterator.hpp"
#include "types.h"
@@ -16,57 +17,87 @@ class UnkStruct_027e09a4;
#define ROOM_INDEX_NONE 0xFF
struct UnkStruct_SceneChange1 {
/* 00 */ unk32 mSceneIndex;
/* 04 */ unk32 mUnk_04;
/* 08 */ unk16 mUnk_08;
/* 0A */ u8 mRoomIndex;
/* 0B */ u8 mSpawnIndex;
/* 0C */ bool mIsCS;
/* 0D */ u8 mUnk_0D;
/* 0E */ u8 mCutsceneIndex;
/* 0F */ u8 mUnk_0F;
/* 10 */ u8 mUnk_10;
/* 11 */ u8 mUnk_11;
/* 12 */ u16 mUnk_12;
struct EntranceInfo {
/* 00 */ s32 sceneIndex;
/* 04 */ unk32 unk_04;
/* 08 */ unk16 unk_08;
/* 0A */ u8 roomIndex;
/* 0B */ u8 spawnIndex;
/* 0C */ bool isCS;
/* 0D */ u8 unk_0D;
/* 0E */ u8 csIndex;
/* 0F */ u8 unk_0F;
/* 10 */ u8 unk_10;
/* 11 */ u8 unk_11;
/* 12 */ u16 unk_12;
/* 14 */
UnkStruct_SceneChange1() {
this->mSceneIndex = SceneIndex_Max;
this->mUnk_04 = 0;
this->mUnk_08 = 0;
this->mRoomIndex = ROOM_INDEX_NONE;
this->mSpawnIndex = 0;
this->mIsCS = false;
this->mUnk_0D = 0;
this->mCutsceneIndex = CutsceneIndex_None;
this->mUnk_0F = 0;
this->mUnk_10 = 0;
EntranceInfo() {}
EntranceInfo(bool isCS) {
this->sceneIndex = SceneIndex_Max;
this->unk_04 = 0;
this->unk_08 = 0;
this->roomIndex = ROOM_INDEX_NONE;
this->spawnIndex = 0;
this->isCS = isCS;
this->unk_0D = 0;
this->csIndex = CutsceneIndex_None;
this->unk_0F = 0;
this->unk_10 = 0;
}
UnkStruct_SceneChange1(CutsceneParamsEntry *pEntry, bool nextIsCS) {
EntranceInfo(CutsceneParamsEntry *pEntry, bool isCS) {
u8 sceneIndex = pEntry->mSceneIndex;
u8 cutsceneIndex = pEntry->mCutsceneIndex;
u8 spawnIndex = pEntry->mSpawnIndex;
u8 roomIndex = pEntry->mRoomIndex;
this->mSceneIndex = sceneIndex;
this->mUnk_04 = 0;
this->mUnk_08 = 0;
this->mRoomIndex = roomIndex;
this->mSpawnIndex = spawnIndex;
this->mIsCS = nextIsCS;
this->mUnk_0D = 0;
this->mCutsceneIndex = cutsceneIndex;
this->mUnk_0F = 0;
this->mUnk_10 = 0;
this->sceneIndex = sceneIndex;
this->unk_04 = 0;
this->unk_08 = 0;
this->roomIndex = roomIndex;
this->spawnIndex = spawnIndex;
this->isCS = isCS;
this->unk_0D = 0;
this->csIndex = cutsceneIndex;
this->unk_0F = 0;
this->unk_10 = 0;
}
UnkStruct_SceneChange1(const UnkStruct_SceneChange1 *pSource) {
MI_CpuCopy32((void *) pSource, this, sizeof(UnkStruct_SceneChange1));
EntranceInfo(const ZMBEntryWARP *pEntry) {
SceneIndex sceneIndex = data_027e09a0->GetSceneIndexFromName(pEntry->destName);
u8 unk_04 = pEntry->unk_01;
s32 cutsceneIndex = CutsceneIndex_None;
if (pEntry->unk_14 != 0 || pEntry->unk_15 != 0) {
cutsceneIndex = func_ov000_020a7840(pEntry->unk_14, pEntry->unk_15);
}
u8 unk_10 = pEntry->unk_17;
u8 unk_00 = pEntry->unk_00;
u8 spawnIndex = pEntry->spawnIndex;
u8 roomIndex = pEntry->roomIndex;
this->sceneIndex = sceneIndex;
this->unk_04 = unk_04;
this->unk_08 = 0;
this->roomIndex = roomIndex;
this->spawnIndex = spawnIndex;
this->isCS = false;
this->unk_0D = unk_00;
this->csIndex = cutsceneIndex;
this->unk_0F = 0;
this->unk_10 = unk_10;
}
UnkStruct_SceneChange1(s32) {}
EntranceInfo(const EntranceInfo *pSource) {
MI_CpuCopy32((void *) pSource, this, sizeof(EntranceInfo));
}
EntranceInfo(const EntranceInfo &refSource) {
MI_CpuCopy32((void *) &refSource, this, sizeof(EntranceInfo));
}
};
class UnkStruct_WarpUnk1_24 : public UnkStruct_0204a060_Base3 {
@@ -109,8 +140,8 @@ public:
/* 00 (base) */
/* 24 */ UnkStruct_WarpUnk1_24 mUnk_24;
/* 50 */ UnkStruct_WarpUnk1_50 mUnk_50;
/* 78 */ UnkStruct_SceneChange1 mUnk_78; // current scene?
/* 8C */ UnkStruct_SceneChange1 mUnk_8C; // next scene
/* 78 */ EntranceInfo mCurEntrance;
/* 8C */ EntranceInfo mNextEntrance;
/* A0 */ UnkStruct_WarpUnk1_A0 mUnk_A0;
/* B4 */ unk32 mSpawnTransitionType; // the behavior of Link when entering a new scene
/* B8 */
@@ -142,8 +173,8 @@ public:
/* 00 (vtable) */
/* 04 */ Iterator<UnkStruct_027e09a4_54_04> mUnk_04;
/* 0C */ wchar_t mUnk_0C[8];
/* 1C */ UnkStruct_SceneChange1 mUnk_1C;
/* 30 */ unk16 mUnk_30;
/* 1C */ EntranceInfo mUnk_1C;
/* 30 */ u16 mUnk_30;
/* 32 */ bool mUnk_32;
/* 33 */ unk8 mUnk_33;
/* 34 */
@@ -186,8 +217,8 @@ public:
class UnkStruct_027e09a4 : public AutoInstance<UnkStruct_027e09a4> {
public:
/* 00 */ UnkStruct_SceneChange1 mUnk_00; // the infos of the current area, this isn't saved when you save the game
/* 14 */ UnkStruct_SceneChange1 mUnk_14;
/* 00 */ EntranceInfo mUnk_00; // the infos of the current area, this isn't saved when you save the game
/* 14 */ EntranceInfo mUnk_14;
/* 28 */ unk32 mUnk_28;
/* 2C */ UnkStruct_027e09a4_2C mUnk_2C;
/* 40 */ UnkStruct_027e09a4_2C mUnk_40;
@@ -200,15 +231,15 @@ public:
/* 68 */
bool IsCutscene() {
return this->mUnk_00.mIsCS == true;
return this->mUnk_00.isCS == true;
}
bool IsNotCutscene() {
return this->mUnk_00.mIsCS != true;
return this->mUnk_00.isCS != true;
}
u8 CurrentCSIndex() {
return this->mUnk_00.mCutsceneIndex;
return this->mUnk_00.csIndex;
}
bool UnkCheck(unk32 sceneIndex) {
@@ -245,31 +276,31 @@ public:
}
SceneIndex CurrentSceneIndex() {
return this->mUnk_00.mSceneIndex;
return this->mUnk_00.sceneIndex;
}
bool IsDarkRealm() {
return this->mUnk_00.mSceneIndex <= SceneIndex_t_eviltrain3 && this->mUnk_00.mSceneIndex >= SceneIndex_t_eviltrain;
return this->mUnk_00.sceneIndex <= SceneIndex_t_eviltrain3 && this->mUnk_00.sceneIndex >= SceneIndex_t_eviltrain;
}
bool IsDungeonTower() {
return this->mUnk_00.mSceneIndex == SceneIndex_d_main;
return this->mUnk_00.sceneIndex == SceneIndex_d_main;
}
bool IsPirate() {
return this->mUnk_00.mSceneIndex == SceneIndex_f_pirate;
return this->mUnk_00.sceneIndex == SceneIndex_f_pirate;
}
bool IsWater3() {
return this->mUnk_00.mSceneIndex == SceneIndex_f_water3;
return this->mUnk_00.sceneIndex == SceneIndex_f_water3;
}
bool IsSnowdriftStation() {
return this->mUnk_00.mSceneIndex == SceneIndex_f_kakushi1;
return this->mUnk_00.sceneIndex == SceneIndex_f_kakushi1;
}
bool IsPassenger() {
return this->mUnk_00.mSceneIndex == SceneIndex_f_passenger;
return this->mUnk_00.sceneIndex == SceneIndex_f_passenger;
}
UnkStruct_027e09a4(unk32 param1);
@@ -282,7 +313,7 @@ public:
// overlay 0
unk8 func_ov000_02070bd0(unk32 csIndex, unk32 param2);
UnkStruct_SceneChange1 *func_ov000_02070560();
EntranceInfo *func_ov000_02070560();
void func_ov000_020707a8(void *param1);
void func_ov000_02070834(void *param1);
void func_ov000_0207087c(unk32 param1);
@@ -291,18 +322,18 @@ public:
void func_ov000_02070a4c(unk32 param1);
unk32 func_ov000_02070554();
UnkStruct_WarpUnk1_A0 *func_ov000_02070538();
bool func_ov000_02070a9c(UnkStruct_SceneChange1 *param1);
bool func_ov000_02072154(UnkStruct_SceneChange1 *param1, unk32 param2);
bool func_ov000_02070a9c(EntranceInfo *param1);
bool func_ov000_02072154(EntranceInfo *param1, unk32 param2);
bool func_ov000_0207056c();
void func_ov000_020705e8(SaveFile *param1, unk32 param2);
// overlay 1
void func_ov001_020b662c();
void func_ov001_020b66dc();
void func_ov001_020b6758(const UnkStruct_SceneChange1 *param1, bool param2);
void func_ov001_020b6758(const EntranceInfo *param1, bool param2);
void func_ov001_020b68a4(bool param1, bool param2, bool param3);
void func_ov001_020b6924(const UnkStruct_SceneChange1 *param1, bool param2);
void func_ov001_020b69b4(const UnkStruct_SceneChange1 *param1, bool param2);
void func_ov001_020b6924(const EntranceInfo *param1, bool param2);
void func_ov001_020b69b4(const EntranceInfo *param1, bool param2);
static UnkStruct_027e09a4 *Create(unk32 param1);
+73 -36
View File
@@ -4,6 +4,7 @@
#include "math.hpp"
#include "types.h"
#include "Actor/Actor.hpp"
#include "MapObject/MapObjectManager.hpp"
#include "Render/ModelRender.hpp"
#include "Save/SaveFile.hpp"
@@ -58,6 +59,7 @@ public:
/* 14 */ unk32 mUnk_14;
/* 18 */
UnkStruct_ov001_020c40f4(int) {}
UnkStruct_ov001_020c40f4() {
this->mUnk_0E = -1;
this->mUnk_0F = 0;
@@ -145,15 +147,35 @@ public:
~UnkStruct_027e0cd8_0C_Base_148_02();
};
// UnkStruct_ov001_020c2a40 ?
class UnkStruct_027e0cd8_0C_Base_154_00 {
public:
/* 00 */ STRUCT_PAD(0x00, 0x14);
/* 14 */
typedef u16 UnkFlags1;
enum UnkFlags1_ {
UnkFlags1_None = 0,
UnkFlags1_1 = 1,
UnkFlags1_2 = 2,
UnkFlags1_3 = 3,
UnkFlags1_4 = 4,
UnkFlags1_5 = 5,
UnkFlags1_6 = 6,
UnkFlags1_7 = 7,
UnkFlags1_Max = 8,
};
UnkStruct_027e0cd8_0C_Base_154_00(const UnkStruct_027e0cd8_0C_Base_154_00 &ref) {
MI_CpuCopy32((void *) &ref, this, sizeof(UnkStruct_027e0cd8_0C_Base_154_00));
}
typedef u16 UnkFlags2;
enum UnkFlags2_ {
UnkFlags2_None = 0,
UnkFlags2_0 = 0,
UnkFlags2_1 = 1,
UnkFlags2_2 = 2,
UnkFlags2_3 = 3,
UnkFlags2_4 = 4,
UnkFlags2_5 = 5,
UnkFlags2_6 = 6,
UnkFlags2_7 = 7,
UnkFlags2_8 = 8,
UnkFlags2_9 = 9,
UnkFlags2_10 = 10,
UnkFlags2_11 = 11,
UnkFlags2_Max = 12,
};
class UnkStruct_027e0cd8_0C_Base {
@@ -171,7 +193,7 @@ public:
};
/* 088 */ UnkStruct_027e0cd8_0C_Base_88 mUnk_088;
/* 098 */ UnkStruct_027e0cd8_0C_Base_98 *mUnk_098;
/* 09C */ Vec2s mUnk_09C;
/* 09C */ Vec2us mUnk_09C;
/* 0A0 */ unk32 mUnk_0A0;
/* 0A4 */ unk32 mUnk_0A4;
/* 0A8 */ unk32 mUnk_0A8;
@@ -179,14 +201,17 @@ public:
/* 0AC */ bool mUnk_0AD;
/* 0AC */ bool mUnk_0AE;
/* 0AC */ bool mUnk_0AF;
/* 0B0 */ unk32 mUnk_0B0;
/* 0B0 */ u8 mUnk_0B0;
/* 0B1 */ u8 mUnk_0B1;
/* 0B2 */ u8 mUnk_0B2;
/* 0B3 */ u8 mUnk_0B3;
/* 0B4 */ ZeldaObjectList *mUnk_0B4;
/* 0B8 */ ZeldaObjectList *mUnk_0B8[8]; // map objects
/* 0D8 */ ZeldaObjectList *mUnk_0D8;
/* 0DC */ ZeldaObjectList *mUnk_0DC[8]; // actors
/* 0FC */ unk32 mUnk_0FC;
/* 100 */ volatile BOOL mIsCS;
/* 104 */ unk16 mUnk_104;
/* 104 */ UnkFlags1 mUnk_104;
/* 108 */ unk32 mUnk_108;
/* 10C */ unk32 mUnk_10C;
/* 110 */ unk32 mUnk_110;
@@ -195,18 +220,18 @@ public:
/* 11C */ unk32 mUnk_11C;
/* 120 */ unk32 mUnk_120;
/* 124 */ unk32 mUnk_124;
/* 128 */ u16 mUnk_128;
/* 128 */ UnkFlags2 mUnk_128;
/* 12A */ bool mUnk_12A;
/* 12B */ bool mUnk_12B;
/* 12C */ bool mUnk_12C;
/* 12D */ bool mUnk_12D;
/* 12E */ bool mUnk_12E;
/* 130 */ unk32 mUnk_130;
/* 134 */ unk32 mUnk_134;
/* 138 */ unk32 mUnk_138;
/* 13C */ FixedVector<UnkStruct_ov001_020c40f4> mUnk_13C;
/* 148 */ CustomVector<UnkStruct_027e0cd8_0C_Base_148_00_Base *> mUnk_148;
/* 154 */ CustomVector<UnkStruct_027e0cd8_0C_Base_154_00> mUnk_154;
/* 130 */ ZMBSectionROMB *mpROMB;
/* 134 */ ZMBSectionCAME *mpCAME;
/* 138 */ ZMBSectionCMPT *mpCMPT;
/* 13C */ FixedVector<UnkStruct_ov001_020c40f4> mUnk_13C; // related to player
/* 148 */ CustomVector<UnkStruct_027e0cd8_0C_Base_148_00_Base *> mUnk_148; // related to "arrange" stuff
/* 154 */ CustomVector<EntranceInfo> mUnk_154; // exit list?
/* 160 */
UnkStruct_027e0cd8_0C_Base(UnkStruct_027e0cd8 *param1);
@@ -217,43 +242,43 @@ public:
/* 10 */ virtual void vfunc_10();
/* 14 */ virtual void vfunc_14();
/* 18 */ virtual void vfunc_18();
/* 1C */ virtual void vfunc_1C(const UnkStruct_SceneChange1 *param1, bool param2, bool param3);
/* 1C */ virtual void vfunc_1C(const EntranceInfo *param1, bool param2, bool param3);
/* 20 */ virtual void vfunc_20();
/* 24 */ virtual void vfunc_24();
/* 28 */ virtual fx32 vfunc_28(VecFx32 *param1, unk32 param2, unk32 param3);
/* 2C */ virtual void vfunc_2C();
/* 30 */ virtual void LoadSceneModel(const UnkStruct_SceneChange1 *param1);
/* 34 */ virtual void vfunc_34(unk32 param1);
/* 30 */ virtual void LoadSceneModel(const EntranceInfo *param1);
/* 34 */ virtual void ZMB_ParseROMB(ZMBSectionROMB *pROMB);
/* 38 */ virtual void vfunc_38();
/* 3C */ virtual void vfunc_3C();
/* 40 */ virtual void vfunc_40(u8 spawnIndex);
// itcm
fx32 func_01ffedf4(Vec2b *pPos);
fx32 func_01ffedf4(Vec2bCpp *pPos);
// overlay 0
unk32 func_ov000_02080180(void *param1);
void func_ov000_020801b0(Vec2b *param1, unk32 param2, unk32 param3);
void func_ov000_020801b0(Vec2bCpp *param1, unk32 param2, unk32 param3);
bool func_ov000_020802ec(u16 param1, VecFx32 *param2);
void func_ov000_020803ec(u16 param1);
void func_ov000_0208053c(u16 param1);
bool func_ov000_02080658(unk32 param1, UnkStruct_SceneChange1 *param2);
void func_ov000_020808f4(void *param1, void *param2, unk32 param3);
bool func_ov000_02080658(unk32 param1, EntranceInfo *param2);
void func_ov000_020808f4(void *param1, void *param2, u8 param3);
unk32 func_ov000_02080a44();
void func_ov000_02080a5c(VecFx32 *param1);
void func_ov000_02080a78(VecFx32 *param1);
// overlay 1
void func_ov001_020b85d0(const UnkStruct_SceneChange1 *param1);
void func_ov001_020b85d0(const EntranceInfo *param1);
void func_ov001_020b88c0(unk32 param1);
void func_ov001_020b88ec();
const UnkStruct_ov001_020c40f4 *func_ov001_020b8a5c(unk32 spawnIndex, unk32 param1);
void func_ov001_020b8aec();
void func_ov001_020b8b94(ZMBEntryARAB *pARAB);
void func_ov001_020b8c30(const UnkStruct_027e0cd8_0C_Base_154_00 &param1);
void func_ov001_020b8c30(const EntranceInfo &param1);
void *func_ov001_020b8c80(unk32 param1);
void func_ov001_020b8c90(unk32 param1);
void func_ov001_020b8c98(unk32 param1);
void func_ov001_020b8c90(ZMBSectionCMPT *pCMPT);
void func_ov001_020b8c98(ZMBSectionCAME *pCAME);
void func_ov001_020b8db8();
void func_ov001_020b8e24();
void func_ov001_020b8e54();
@@ -275,7 +300,7 @@ public:
/* 10 */ virtual void vfunc_10() override;
/* 14 */ virtual void vfunc_14() override;
/* 18 */ virtual void vfunc_18() override;
/* 1C */ virtual void vfunc_1C(const UnkStruct_SceneChange1 *param1, bool param2, bool param3) override;
/* 1C */ virtual void vfunc_1C(const EntranceInfo *param1, bool param2, bool param3) override;
/* 20 */ virtual void vfunc_20() override;
/* 24 */ virtual void vfunc_24() override;
/* 28 */ virtual fx32 vfunc_28(VecFx32 *param1, unk32 param2, unk32 param3) override;
@@ -316,8 +341,15 @@ public:
/* 08 */ unk32 mUnk_08;
/* 0C */ UnkStruct_027e0cd8_04_0C *mUnk_0C;
/* 10 */ u8 mUnk_10;
/* 11 */ u8 mUnk_11;
/* 12 */ STRUCT_PAD(0x12, 0x40);
/* 10 */ u8 mUnk_11;
/* 12 */ u8 mUnk_12;
/* 12 */ u8 mUnk_13;
/* 14 */ u8 mUnk_14;
/* 14 */ u8 mUnk_15;
/* 16 */ u8 mUnk_16;
/* 16 */ u8 mUnk_17;
/* 18 */ Vec2p mUnk_18;
/* 20 */ STRUCT_PAD(0x20, 0x40);
/* 40 */ u8 mUnk_40[1][10]; // at least one
STRUCT_PAD(0x4C, 0xB4);
/* B4 */
@@ -327,6 +359,10 @@ public:
void func_ov000_02081354(const CourseListEntry *pEntry, const UnkStruct_func_ov000_020702a8 *pUnk1,
SaveFile_00000_0000_Data_184 *param3, bool param4);
void func_ov000_02081874(u16 nEntries);
void func_ov000_020819a4(const UnkStruct_func_ov000_020702a8 *pUnk1);
void func_ov000_020818d0(CourseListRoomEntry *param1, unk32 param2, unk32 param3, unk32 param4, unk32 param5);
void func_ov000_0208199c(SceneIndex sceneIndex, void *param2, unk32 param3);
};
class UnkStruct_027e0cd8_10 : public UnkDataStruct4 {
@@ -374,15 +410,16 @@ public:
bool func_ov000_02082124();
bool func_ov000_02081c28();
void func_ov000_02081ca0();
bool func_ov000_02081edc(u16 param1);
// overlay 1
void func_ov001_020b7830(const UnkStruct_SceneChange1 *param1);
void func_ov001_020b7830(const EntranceInfo *param1);
void func_ov001_020b7a7c();
void func_ov001_020b7b38(const CourseListEntry *pEntry, const UnkStruct_func_ov000_020702a8 *pUnk1);
void func_ov001_020b7c08(const UnkStruct_SceneChange1 *param1, const UnkStruct_WarpUnk1_A0 *param2);
void func_ov001_020b7d64(const UnkStruct_SceneChange1 *param1);
void func_ov001_020b7c08(const EntranceInfo *param1, const UnkStruct_WarpUnk1_A0 *param2);
void func_ov001_020b7d64(const EntranceInfo *param1);
void func_ov001_020b7e50();
void func_ov001_020b7e68(const UnkStruct_SceneChange1 *param1, bool param2);
void func_ov001_020b7e68(const EntranceInfo *param1, bool param2);
void func_ov001_020b803c();
bool func_ov001_020b80fc(SceneIndex sceneIndex);
void func_ov001_020b8120(SceneIndex sceneIndex);
+2
View File
@@ -397,6 +397,8 @@ class UnkStruct_027e0ce0_1C {
public:
/* 00 */ STRUCT_PAD(0x00, 0x0C);
/* 0C */ MapObjectProfile_Derived2_20_Base *mUnk_0C;
void func_ov001_020bd0a4(bool param1);
};
// PlayerManager?
+4 -4
View File
@@ -3,7 +3,7 @@
#include "System/SysNew.hpp"
#include "types.h"
class UnkStruct_SceneChange1;
class EntranceInfo;
class UnkStruct_ov018_020c5ac0 {
public:
@@ -63,10 +63,10 @@ public:
void func_ov001_020bd87c(void);
void func_ov001_020bd8dc(void);
void func_ov001_020bd8ac(void);
void func_ov001_020bd970(UnkStruct_SceneChange1 *param1);
void func_ov001_020bd970(EntranceInfo *param1);
void func_ov001_020bde5c(void);
void func_ov001_020bde04(UnkStruct_SceneChange1 *param1);
void func_ov001_020bde4c(const UnkStruct_SceneChange1 *param1);
void func_ov001_020bde04(EntranceInfo *param1);
void func_ov001_020bde4c(const EntranceInfo *param1);
// overlay 18
UnkStruct_ov018_020c5ac0 *func_ov018_020c5718(void);