From 2d0fc73ec94158db52e2e5fe8a11437460b9bcb9 Mon Sep 17 00:00:00 2001 From: elijah-thomas774 Date: Sun, 15 Jun 2025 18:28:00 -0400 Subject: [PATCH] dHbm::Mange_c symbols --- config/SOUE01/splits.txt | 2 +- config/SOUE01/symbols.txt | 56 +++++++++++++++++++------------------- configure.py | 2 +- include/d/d_hbm.h | 43 +++++++++++++++++++++++++++++ include/toBeSorted/d_hbm.h | 21 -------------- src/REL/d/d_s_boot.cpp | 10 +++---- 6 files changed, 78 insertions(+), 56 deletions(-) create mode 100644 include/d/d_hbm.h delete mode 100644 include/toBeSorted/d_hbm.h diff --git a/config/SOUE01/splits.txt b/config/SOUE01/splits.txt index d1fe5882..28f38fc4 100644 --- a/config/SOUE01/splits.txt +++ b/config/SOUE01/splits.txt @@ -1224,7 +1224,7 @@ toBeSorted/misc_actor.cpp: .data start:0x8052B638 end:0x8052B678 .sbss start:0x805756B0 end:0x805756F0 -toBeSorted/d_hbm: +d/d_hbm.cpp: .text start:0x80196650 end:0x801975B8 align:16 .rodata start:0x804EA810 end:0x804EA868 .data start:0x8052B678 end:0x8052B708 diff --git a/config/SOUE01/symbols.txt b/config/SOUE01/symbols.txt index 64395c06..d9f2ae3a 100644 --- a/config/SOUE01/symbols.txt +++ b/config/SOUE01/symbols.txt @@ -10488,32 +10488,32 @@ TgInsectCaptureMinigame__addToCollectedBugs = .text:0x801964E0; // type:function TgInsectCaptureMinigame__getBugIndex = .text:0x80196550; // type:function size:0x44 TgStream__initList = .text:0x801965A0; // type:function size:0x50 TgStream__dtorList = .text:0x801965F0; // type:function size:0x58 -fn_80196650 = .text:0x80196650; // type:function size:0x4C -GetInstance__6dHbm_cFv = .text:0x801966A0; // type:function size:0x8 -fn_801966B0 = .text:0x801966B0; // type:function size:0x120 -fn_801967D0__6dHbm_cFv = .text:0x801967D0; // type:function size:0x1D4 -fn_801969B0 = .text:0x801969B0; // type:function size:0xB4 -fn_80196A70 = .text:0x80196A70; // type:function size:0x60 -fn_80196AD0 = .text:0x80196AD0; // type:function size:0x64 -fn_80196B40 = .text:0x80196B40; // type:function size:0x164 -fn_80196CB0 = .text:0x80196CB0; // type:function size:0xE8 -fn_80196DA0 = .text:0x80196DA0; // type:function size:0x10 -fn_80196DB0 = .text:0x80196DB0; // type:function size:0x78 -fn_80196E30 = .text:0x80196E30; // type:function size:0x10 -fn_80196E40 = .text:0x80196E40; // type:function size:0x10 -fn_80196E50 = .text:0x80196E50; // type:function size:0x10 -fn_80196E60 = .text:0x80196E60; // type:function size:0x10 -fn_80196E70 = .text:0x80196E70; // type:function size:0x10 -fn_80196E80 = .text:0x80196E80; // type:function size:0xE8 -fn_80196F70 = .text:0x80196F70; // type:function size:0x80 -fn_80196FF0 = .text:0x80196FF0; // type:function size:0x94 -fn_80197090 = .text:0x80197090; // type:function size:0x110 -fn_801971A0 = .text:0x801971A0; // type:function size:0x44 -fn_801971F0 = .text:0x801971F0; // type:function size:0x148 -fn_80197340 = .text:0x80197340; // type:function size:0x14 -fn_80197360 = .text:0x80197360; // type:function size:0x5C +CreateInstance__Q24dHbm8Manage_cFPQ23EGG4Heap = .text:0x80196650; // type:function size:0x4C +GetInstance__Q24dHbm8Manage_cFv = .text:0x801966A0; // type:function size:0x8 +__ct__Q24dHbm8Manage_cFPQ23EGG4Heap = .text:0x801966B0; // type:function size:0x120 +Load__Q24dHbm8Manage_cFv = .text:0x801967D0; // type:function size:0x1D4 +Calculate__Q24dHbm8Manage_cFv = .text:0x801969B0; // type:function size:0xB4 +DrawMenu__Q24dHbm8Manage_cFl = .text:0x80196A70; // type:function size:0x60 +DrawMenuSetting__Q24dHbm8Manage_cFv = .text:0x80196AD0; // type:function size:0x64 +DrawIcon__Q24dHbm8Manage_cFv = .text:0x80196B40; // type:function size:0x164 +InitDataInfo__Q24dHbm8Manage_cFv = .text:0x80196CB0; // type:function size:0xE8 +InitControllerData__Q24dHbm8Manage_cFv = .text:0x80196DA0; // type:function size:0x10 +SetRegionLayoutName__Q24dHbm8Manage_cFv = .text:0x80196DB0; // type:function size:0x78 +SetSpkNameName__Q24dHbm8Manage_cFv = .text:0x80196E30; // type:function size:0x10 +SetMsgName__Q24dHbm8Manage_cFv = .text:0x80196E40; // type:function size:0x10 +SetConfigName__Q24dHbm8Manage_cFv = .text:0x80196E50; // type:function size:0x10 +SetIconName__Q24dHbm8Manage_cFv = .text:0x80196E60; // type:function size:0x10 +SetSoundName__Q24dHbm8Manage_cFv = .text:0x80196E70; // type:function size:0x10 +SetContData__Q24dHbm8Manage_cFv = .text:0x80196E80; // type:function size:0xE8 +CheckBegin__Q24dHbm8Manage_cCFv = .text:0x80196F70; // type:function size:0x80 +MenuInit__Q24dHbm8Manage_cFv = .text:0x80196FF0; // type:function size:0x94 +MenuCalc__Q24dHbm8Manage_cFv = .text:0x80197090; // type:function size:0x110 +IconInit__Q24dHbm8Manage_cFv = .text:0x801971A0; // type:function size:0x44 +IconCalc__Q24dHbm8Manage_cFv = .text:0x801971F0; // type:function size:0x148 +IconClear__Q24dHbm8Manage_cFv = .text:0x80197340; // type:function size:0x14 +StopMotor__Q24dHbm8Manage_cFv = .text:0x80197360; // type:function size:0x5C fn_801973C0 = .text:0x801973C0; // type:function size:0x58 -fn_80197420 = .text:0x80197420; // type:function size:0x140 +ForbidCalc__Q24dHbm8Manage_cFv = .text:0x80197420; // type:function size:0x140 fn_80197560__6dHbm_cFl = .text:0x80197560; // type:function size:0x28 fn_80197590 = .text:0x80197590; // type:function size:0x28 dStageMgr_c_classInit__Fv = .text:0x801975C0; // type:function size:0x34 @@ -41338,8 +41338,8 @@ sInstance__18ArcCallbackHandler = .sbss:0x80575250; // type:object size:0x8 data aspectRatio = .sbss:0x80575258; // type:object size:0x4 align:4 data:float sInstance__8dCsMgr_c = .sbss:0x80575260; // type:object size:0x4 data:4byte spInstance__9dRumble_c = .sbss:0x80575268; // type:object size:0x4 data:4byte -someColor = .sbss:0x80575270; // type:object size:0x1 data:byte -reloadColorFaderPtr = .sbss:0x80575274; // type:object size:0x4 data:4byte +c_faderColor__Q26dReset8Manage_c = .sbss:0x80575270; // type:object size:0x1 data:byte +s_pInstance__Q26dReset8Manage_c = .sbss:0x80575274; // type:object size:0x4 data:4byte sInstance__22CurrentStageArcManager = .sbss:0x80575278; // type:object size:0x4 data:4byte @GUARD@getCurrentStageDirectory__22CurrentStageArcManagerFv@sStageDirTmp = .sbss:0x8057527C; // type:object size:0x1 scope:local data:byte sInstance__11OarcManager = .sbss:0x80575280; // type:object size:0x4 data:4byte @@ -41536,7 +41536,7 @@ TADTONE_GAME = .sbss:0x805756E4; // type:object size:0x4 data:4byte IS_IN_SKYKEEP_PUZZLE = .sbss:0x805756E8; // type:object size:0x1 data:byte lbl_805756E9 = .sbss:0x805756E9; // type:object size:0x1 data:byte sInstance__10dTgSndMg_c = .sbss:0x805756EC; // type:object size:0x4 data:4byte -HBM_stuff = .sbss:0x805756F0; // type:object size:0x8 data:4byte +s_pInstance__Q24dHbm8Manage_c = .sbss:0x805756F0; // type:object size:0x8 data:4byte sInstance__11dStageMgr_c = .sbss:0x805756F8; // type:object size:0x4 data:4byte lbl_805756FC = .sbss:0x805756FC; // type:object size:0x1 data:byte lbl_805756FD = .sbss:0x805756FD; // type:object size:0x1 data:byte diff --git a/configure.py b/configure.py index e7f491e7..a17f8d2b 100644 --- a/configure.py +++ b/configure.py @@ -567,7 +567,7 @@ config.libs = [ Object(NonMatching, "toBeSorted/d_unk_pad.cpp"), Object(NonMatching, "toBeSorted/goddess_chest_counter.cpp"), Object(NonMatching, "toBeSorted/misc_actor.cpp"), - Object(NonMatching, "toBeSorted/d_hbm"), + Object(NonMatching, "d/d_hbm.cpp"), Object(NonMatching, "d/d_stage_mgr.cpp"), Object(NonMatching, "d/d_last.cpp"), Object(NonMatching, "d/d_camera.cpp"), diff --git a/include/d/d_hbm.h b/include/d/d_hbm.h new file mode 100644 index 00000000..b676b6f7 --- /dev/null +++ b/include/d/d_hbm.h @@ -0,0 +1,43 @@ + +#include "egg/core/eggHeap.h" +namespace dHbm { +class Manage_c { +public: + static void CreateInstance(); + static Manage_c *GetInstance(); + + Manage_c(EGG::Heap *); + + bool Load(); + void Calculate(); + void DrawMenu(s32); + void DrawMenuSetting(); + void DrawIcon(); + void InitDataInfo(); + void InitControllerData(); + void SetRegionLayoutName(); + void SetSpkNameName(); + void SetMsgName(); + void SetConfigName(); + void SetIconName(); + void SetSoundName(); + void SetContData(); + bool CheckBegin() const; + + void MenuInit(); + void IconCalc(); + void IconClear(); + void StopMotor(); + void ForbidCalc(); + + s32 fn_80197560(s32); + void offFlags(u32 flags) { + mFlags &= ~flags; + } + +private: + static Manage_c *s_pInstance; + u8 _0x00[0x218 - 0x000]; + u32 mFlags; +}; +} // namespace dHbm diff --git a/include/toBeSorted/d_hbm.h b/include/toBeSorted/d_hbm.h deleted file mode 100644 index f8eb390b..00000000 --- a/include/toBeSorted/d_hbm.h +++ /dev/null @@ -1,21 +0,0 @@ -#ifndef D_HBM_H -#define D_HBM_H - -#include "common.h" -class dHbm_c { -public: - static dHbm_c *GetInstance(); - - s32 fn_801967D0(); - s32 fn_80197560(s32); - - void offFlags(u32 flags) { - mFlags &= ~flags; - } - -private: - u8 _0x00[0x218 - 0x000]; - u32 mFlags; -}; - -#endif diff --git a/src/REL/d/d_s_boot.cpp b/src/REL/d/d_s_boot.cpp index b83aefac..8572a94b 100644 --- a/src/REL/d/d_s_boot.cpp +++ b/src/REL/d/d_s_boot.cpp @@ -7,6 +7,7 @@ #include "d/d_dylink.h" #include "d/d_font_manager.h" #include "d/d_gfx.h" +#include "d/d_hbm.h" #include "d/d_heap.h" #include "d/d_message.h" #include "d/d_reset.h" @@ -29,7 +30,6 @@ #include "toBeSorted/arc_managers/oarc_manager.h" #include "toBeSorted/d_d3d.h" #include "toBeSorted/d_emitter.h" -#include "toBeSorted/d_hbm.h" #include "toBeSorted/d_particle.h" #include "toBeSorted/fi_context.h" #include "toBeSorted/save_manager.h" @@ -88,7 +88,7 @@ sFPhaseBase::sFPhaseState dScBoot_c::cb3() { } sFPhaseBase::sFPhaseState dScBoot_c::cb4() { - if (!dHbm_c::GetInstance()->fn_801967D0()) { + if (!dHbm::Manage_c::GetInstance()->Load()) { return sFPhaseBase::PHASE_RETRY; } dHeap::HBMHeap.heap->disableAllocation(); @@ -409,7 +409,7 @@ dScBoot_c::dScBoot_c() : mStateMgr(*this, sStateID::null), mPhases(this, sCallba } dScBoot_c::~dScBoot_c() { - dHbm_c::GetInstance()->fn_80197560(0); + dHbm::Manage_c::GetInstance()->fn_80197560(0); sInstance = nullptr; } @@ -437,7 +437,7 @@ int dScBoot_c::doDelete() { dBase_c::createRoot(fProfile::LAST, 0, 0); d3d::createLightTextures(); SpecialItemDropMgr::create(); - dHbm_c::GetInstance()->offFlags(8); + dHbm::Manage_c::GetInstance()->offFlags(8); dGfx_c::GetInstance()->setDrawCallback(nullptr); dReset::Manage_c::GetInstance()->BootComplete(true); return SUCCEEDED; @@ -535,7 +535,7 @@ void dScBoot_c::executeState_Strap() { mProgressStage = 0; mStrapScreen.init(); } - dHbm_c::GetInstance()->fn_80197560(0); + dHbm::Manage_c::GetInstance()->fn_80197560(0); } break; }