mirror of
https://github.com/zeldaret/st
synced 2026-07-03 21:10:14 -04:00
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:
@@ -387,21 +387,24 @@ public:
|
||||
/* 00 */ OverlayIndex mLoadedOverlays[OverlaySlot_COUNT];
|
||||
/* 48 */
|
||||
|
||||
bool IsPlayerSub() {
|
||||
return this->mLoadedOverlays[OverlaySlot_9] == OverlayIndex_PlayerSub;
|
||||
}
|
||||
// clang-format off
|
||||
const bool IsTower() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_Tower; }
|
||||
const bool IsBossDesert() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossDesert; }
|
||||
const bool IsBossDeago() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossDeago; }
|
||||
const bool IsBossLast1() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossLast1; }
|
||||
const bool IsBossLast2() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_BossLast2; }
|
||||
const bool IsDungeonForest() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_DgnForest; }
|
||||
const bool IsPirateHideout() const { return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_FldAjito; }
|
||||
|
||||
bool IsMapA6() {
|
||||
return this->mLoadedOverlays[OverlaySlot_13] == OverlayIndex_MapA6;
|
||||
}
|
||||
const bool IsASR() const { return this->mLoadedOverlays[OverlaySlot_9] == OverlayIndex_ASR; }
|
||||
const bool IsPlayerSub() const { return this->mLoadedOverlays[OverlaySlot_9] == OverlayIndex_PlayerSub; }
|
||||
|
||||
bool IsPirateHideout() {
|
||||
return this->mLoadedOverlays[OverlaySlot_8] == OverlayIndex_FldAjito;
|
||||
}
|
||||
const bool IsPlayerZelda() const { return this->mLoadedOverlays[OverlaySlot_10] == OverlayIndex_PlayerZelda; }
|
||||
|
||||
bool IsASR() {
|
||||
return this->mLoadedOverlays[OverlaySlot_9] == OverlayIndex_ASR;
|
||||
}
|
||||
const bool IsMapA6() const { return this->mLoadedOverlays[OverlaySlot_13] == OverlayIndex_MapA6; }
|
||||
|
||||
const bool IsMapB3() const { return this->mLoadedOverlays[OverlaySlot_14] == OverlayIndex_MapB3; }
|
||||
// clang-format on
|
||||
|
||||
void Load(OverlaySlot slot, OverlayIndex index);
|
||||
void LoadIfNotLoaded(OverlaySlot slot, OverlayIndex index);
|
||||
|
||||
@@ -35,7 +35,9 @@ enum HeapIndex_ {
|
||||
};
|
||||
|
||||
void *operator new(size_t length, u32 id, u32 idLength = 4);
|
||||
void *operator new[](size_t length, u32 id, u32 idLength = 4);
|
||||
inline void *operator new[](size_t length, u32 id, u32 idLength = 4) {
|
||||
return ::operator new(length, id, idLength);
|
||||
}
|
||||
|
||||
class UnkStruct_02011e10_Sub1 {
|
||||
public:
|
||||
@@ -53,15 +55,29 @@ public:
|
||||
/* 2C */ unk8 mUnk_2C[0x60 - 0x2C];
|
||||
};
|
||||
|
||||
class UnkStruct_02011e10_2C {
|
||||
public:
|
||||
/* 00 */ UnkStruct_02011e10_Sub1 *mUnk_00;
|
||||
/* 04 */ STRUCT_PAD(0x04, 0x18);
|
||||
/* 18 */
|
||||
|
||||
UnkStruct_02011e10_2C();
|
||||
|
||||
// main
|
||||
void func_020144cc(unk32 param1, unk32 param2, unk32 param3);
|
||||
void func_02014538();
|
||||
};
|
||||
|
||||
class UnkStruct_02011e10 {
|
||||
public:
|
||||
/* 00 */ UnkStruct_02011e10_Sub1 *mUnk_00[HeapIndex_Max]; // the pointer seems to match arena lo
|
||||
/* 24 */ unk32 mUnk_24[2];
|
||||
/* 28 */ STRUCT_PAD(0x2C, 0x5C);
|
||||
/* 2C */ UnkStruct_02011e10_2C mUnk_2C;
|
||||
/* 44 */ UnkStruct_02011e10_2C mUnk_44;
|
||||
/* 5C */ unk32 mUnk_5C;
|
||||
/* 60 */ unk32 mUnk_60;
|
||||
/* 64 */ unk32 mUnk_64;
|
||||
/* 68 */ unk32 mUnk_68;
|
||||
/* 64 */ void *mUnk_64;
|
||||
/* 68 */ void *mUnk_68;
|
||||
/* 6C */ unk32 mUnk_6C;
|
||||
/* 70 */ unk32 mUnk_70;
|
||||
/* 74 */ unk32 mUnk_74;
|
||||
@@ -75,12 +91,26 @@ public:
|
||||
/* 82 */ unk8 mUnk_82;
|
||||
/* 83 */ unk8 mUnk_83;
|
||||
|
||||
UnkStruct_02011e10() {}
|
||||
~UnkStruct_02011e10();
|
||||
|
||||
// main
|
||||
unk32 func_02013014();
|
||||
bool func_02013070();
|
||||
void func_020130d4(unk32 param1);
|
||||
|
||||
// overlay 1
|
||||
void func_ov001_020ba588(unk32 param1, unk32 param2);
|
||||
void func_ov001_020ba59c();
|
||||
void func_ov001_020ba5ac(unk32 param1, unk32 param2);
|
||||
void func_ov001_020ba5c0();
|
||||
void func_ov001_020ba5d0();
|
||||
void func_ov001_020ba608();
|
||||
void func_ov001_020ba620();
|
||||
void func_ov001_020ba640();
|
||||
void func_ov001_020ba658();
|
||||
|
||||
// overlay 18
|
||||
void func_ov018_020c4980();
|
||||
void func_ov018_020c4a5c();
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user