From 6407a842e12b52f583b3b2d82bf08b65857664bf Mon Sep 17 00:00:00 2001 From: Joachim Divet Date: Sun, 5 Jul 2026 19:06:23 +0200 Subject: [PATCH 1/4] Implement GameAudio::Main::bootDSP --- src/Inagaki/GameAudioMain.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/Inagaki/GameAudioMain.cpp b/src/Inagaki/GameAudioMain.cpp index ea46d5d2..be90d380 100644 --- a/src/Inagaki/GameAudioMain.cpp +++ b/src/Inagaki/GameAudioMain.cpp @@ -1,6 +1,8 @@ #include "Inagaki/GameAudioMain.h" #include "Inagaki/GameMapSoundMgr.h" +#include "JSystem/JAudio/System/JASAudioThread.h" + namespace GameAudio { Main *Main::msBasic; @@ -12,7 +14,9 @@ Main::Main() { void Main::init(JKRSolidHeap *, u32, void *, void *, u32) {} -void Main::bootDSP() {} +void Main::bootDSP() { + JASAudioThread::bootDSP(); +} bool Main::isActive() {} From eb51664c99d187ceeb9c3bc664036020a7166c8b Mon Sep 17 00:00:00 2001 From: Joachim Divet Date: Sun, 5 Jul 2026 19:07:33 +0200 Subject: [PATCH 2/4] Implement GameAudio::Main::isActive --- src/Inagaki/GameAudioMain.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/Inagaki/GameAudioMain.cpp b/src/Inagaki/GameAudioMain.cpp index be90d380..2c2fc0af 100644 --- a/src/Inagaki/GameAudioMain.cpp +++ b/src/Inagaki/GameAudioMain.cpp @@ -18,7 +18,9 @@ void Main::bootDSP() { JASAudioThread::bootDSP(); } -bool Main::isActive() {} +bool Main::isActive() { + return _48[0] & 0x10; +} void Main::initRaceSound() {} From 96e2dc376b4e4b5e54e71843e52a5cca1bd6ec6a Mon Sep 17 00:00:00 2001 From: Joachim Divet Date: Sun, 5 Jul 2026 20:47:00 +0200 Subject: [PATCH 3/4] Implement GameAudio::Main::isWaveLoaded --- src/Inagaki/GameAudioMain.cpp | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/src/Inagaki/GameAudioMain.cpp b/src/Inagaki/GameAudioMain.cpp index 2c2fc0af..c2703c77 100644 --- a/src/Inagaki/GameAudioMain.cpp +++ b/src/Inagaki/GameAudioMain.cpp @@ -1,7 +1,8 @@ #include "Inagaki/GameAudioMain.h" -#include "Inagaki/GameMapSoundMgr.h" #include "JSystem/JAudio/System/JASAudioThread.h" +#include "JSystem/JAudio/System/JASWaveArcLoader.h" +#include "JSystem/JAudio/System/JASWaveBank.h" namespace GameAudio { @@ -30,7 +31,23 @@ void Main::changeSection(u32) {} void Main::checkSection() {} -bool Main::isWaveLoaded(WS_ID) {} +bool Main::isWaveLoaded(WS_ID id) { + JAUSectionHeap* sectionHeap = JASGlobalInstance::sInstance; + if(sectionHeap != nullptr) + { + JASWaveBank* bank = sectionHeap->sectionHeapData_.waveBankTable.getWaveBank(id); + + if(bank != nullptr) + { + JASWaveArc* arc = bank->getWaveArc(0); + if (arc->_4c == 2) { + return true; + } + } + } + + return false; +} void Main::checkCourceOnRace() {} From 0f7f4cc1e698c5360812dd471977228d59f18138 Mon Sep 17 00:00:00 2001 From: Joachim Divet Date: Sun, 26 Jul 2026 12:57:19 +0200 Subject: [PATCH 4/4] Address comments --- include/Inagaki/GameAudioMain.h | 3 ++- src/Inagaki/GameAudioMain.cpp | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/include/Inagaki/GameAudioMain.h b/include/Inagaki/GameAudioMain.h index ac4a639d..00284341 100644 --- a/include/Inagaki/GameAudioMain.h +++ b/include/Inagaki/GameAudioMain.h @@ -123,7 +123,8 @@ class Main JAISoundHandle _24[4]; // JAISoundHandle _34[4]; // FxLineConfig *mConfig; // 44 - u8 _48[4]; // + u8 mState; // 48 + u8 _padding[3]; // PAUSE_STATUS mPauseStatus; // 4C int _50; // u8 _54[0x64 - 0x54]; // diff --git a/src/Inagaki/GameAudioMain.cpp b/src/Inagaki/GameAudioMain.cpp index c2703c77..318ac730 100644 --- a/src/Inagaki/GameAudioMain.cpp +++ b/src/Inagaki/GameAudioMain.cpp @@ -20,7 +20,7 @@ void Main::bootDSP() { } bool Main::isActive() { - return _48[0] & 0x10; + return mState & 0x10; } void Main::initRaceSound() {}