summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorrobojumper <robojumper@gmail.com>2025-09-13 13:15:55 +0200
committerrobojumper <robojumper@gmail.com>2025-09-13 13:15:55 +0200
commit56dfa846761220f6d3759af513e2b6aebd7cee89 (patch)
tree94c0fd6bb5bbd1018c84a2af4d8530a0880fa464 /src
parent3320140f40ae8c198868bb29fe8922ca400f2aa9 (diff)
d_s_boot OK
Diffstat (limited to 'src')
-rw-r--r--src/REL/d/d_s_boot.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/REL/d/d_s_boot.cpp b/src/REL/d/d_s_boot.cpp
index c72c7fc2..349b46a1 100644
--- a/src/REL/d/d_s_boot.cpp
+++ b/src/REL/d/d_s_boot.cpp
@@ -20,6 +20,7 @@
#include "d/d_sys.h"
#include "d/lyt/d_lyt_battery.h"
#include "d/lyt/d_lyt_system_window.h"
+#include "d/snd/d_snd_player_mgr.h"
#include "f/f_base.h"
#include "f/f_profile.h"
#include "f/f_profile_name.h"
@@ -101,7 +102,16 @@ sFPhaseBase::sFPhaseState dScBoot_c::cb4() {
return sFPhaseBase::PHASE_NEXT;
}
-void *dScBoot_c::dvdCallback(void *data) {}
+static void hbmInitCallback() {
+ dSndPlayerMgr_c::GetInstance()->fn_8035E000();
+}
+
+void *dScBoot_c::dvdCallback(void *data) {
+ dSndPlayerMgr_c::GetInstance()->setupState0();
+ dHbm::Manage_c::GetInstance()->setMenuInitCallback(hbmInitCallback);
+ dPad::setConnectCallback();
+ return reinterpret_cast<void *>(true);
+}
sFPhaseBase::sFPhaseState dScBoot_c::cb5() {
if (mpDvdCallback == nullptr) {
@@ -451,7 +461,8 @@ int dScBoot_c::doDelete() {
int dScBoot_c::execute() {
mFader.calc();
- mStateMgr.executeState();
+ // TODO - fakematch? We need to prevent the inline from being emitted right after this function...
+ static_cast<sStateMgrIf_c &>(mStateMgr).executeState();
sFPhaseBase::sFPhaseState state = executeLoadPhase();
if (mAllDataLoaded == false && state == sFPhaseBase::PHASE_ALL_DONE) {
mAllDataLoaded = true;