Files
dusklight/libs/JSystem/src/JAudio2/JAUAudioArcLoader.cpp
T
Luke Street 4df8ccc871 Reorganize library code into libs/ (#3119)
* Reorganize files into libs/{dolphin,JSystem,PowerPC_EABI_Support,revolution,TRK_MINNOW_DOLPHIN}

* Update configure.py and project.py for new libs structure

* Refactor `#include <dolphin/x.h>` -> `<x.h>`

* Remove `__REVOLUTION_SDK__` forwards from dolphin

* Fix dolphin/ references in revolution

* Wrap `#include <dolphin.h>` in `!__REVOLUTION_SDK__`

* Always build TRK against dolphin headers

* Resolve revolution SDK header resolution issues
2026-03-01 14:35:36 -08:00

149 lines
4.5 KiB
C++

#include "JSystem/JSystem.h" // IWYU pragma: keep
#include "JSystem/JAudio2/JAUAudioArcLoader.h"
#include "JSystem/JAudio2/JAISeMgr.h"
#include "JSystem/JAudio2/JASReport.h"
#include "JSystem/JAudio2/JAUSectionHeap.h"
JAUAudioArcLoader::JAUAudioArcLoader(JAUSection* section) {
JUT_ASSERT(13, section->isOpen());
JUT_ASSERT(14, section->isBuilding());
mSection = section;
}
bool JAUAudioArcLoader::load(void const* param_0) {
return parse(param_0);
}
void JAUAudioArcLoader::readWS(u32 param_0, void const* param_1, u32 param_2) {
mSection->newWaveBank(param_0, param_1);
if (param_2) {
mSection->loadWaveArc(param_0, param_2);
}
}
void JAUAudioArcLoader::readBNK(u32 param_0, void const* param_1) {
mSection->newBank(param_1, param_0);
}
void JAUAudioArcLoader::readBSC(void const* param_0, u32 param_1) {
mSection->newSeSeqCollection(param_0, param_1);
}
void JAUAudioArcLoader::readBST(void const* param_0, u32 param_1) {
mSection->newSoundTable(param_0, param_1, true);
}
void JAUAudioArcLoader::readBSTN(void const* param_0, u32 param_1) {
mSection->newSoundNameTable(param_0, param_1, true);
}
void JAUAudioArcLoader::readBMS(u32 param_0, void const* param_1, u32 param_2) {
mSection->newStaticSeqData(param_0, param_1, param_2);
}
void JAUAudioArcLoader::readBMS_fromArchive(u32 param_0) {
mSection->newStaticSeqData(param_0);
}
void JAUAudioArcLoader::newVoiceBank(u32 param_0, u32 param_1) {
mSection->newVoiceBank(param_1, param_0);
}
void JAUAudioArcLoader::newDynamicSeqBlock(u32 param_0) {
JAUSectionHeap* sectionHeap = mSection->asSectionHeap();
JUT_ASSERT(72, sectionHeap);
sectionHeap->newDynamicSeqBlock(param_0);
}
void JAUAudioArcLoader::readBSFT(void const* param_0) {
mSection->newStreamFileTable(param_0, true);
}
void JAUAudioArcLoader::beginBNKList(u32 param_0, u32 param_1) {
mSection->beginNewBankTable(param_0, param_1);
}
void JAUAudioArcLoader::endBNKList() {
mSection->endNewBankTable();
}
void JAUAudioArcLoader::readMaxSeCategory(int param_0, int param_1, int param_2) {
{
JAISeMgr* seMgr = JASGlobalInstance<JAISeMgr>::getInstance();
if (seMgr) {
seMgr->getCategory(param_0)->setMaxActiveSe(param_1);
seMgr->getCategory(param_0)->setMaxInactiveSe(param_2);
}
}
}
void JAUAudioArcLoader_withoutCopy::readWS(u32 param_0, void const* param_1, u32 param_2) {
mSection->newWaveBank(param_0, param_1);
if (param_2) {
mSection->loadWaveArc(param_0, param_2);
}
JASReport(".ws resource remains at Heap Head\n");
}
void JAUAudioArcLoader_withoutCopy::readBNK(u32 param_0, void const* param_1) {
mSection->newBank(param_1, param_0);
JASReport(".bnk resource remains at Heap Head\n");
}
void JAUAudioArcLoader_withoutCopy::readBSC(void const* param_0, u32 param_1) {
UNUSED(param_1);
mSection->newSeSeqCollection(param_0, 0);
}
void JAUAudioArcLoader_withoutCopy::readBST(void const* param_0, u32 param_1) {
UNUSED(param_1);
mSection->newSoundTable(param_0, 0, true);
}
void JAUAudioArcLoader_withoutCopy::readBSTN(void const* param_0, u32 param_1) {
UNUSED(param_1);
mSection->newSoundNameTable(param_0, 0, true);
}
void JAUAudioArcLoader_withoutCopy::readBMS(u32 param_0, void const* param_1, u32 param_2) {
UNUSED(param_2);
mSection->newStaticSeqData(param_0, param_1, 0);
}
void JAUAudioArcLoader_withoutCopy::readBMS_fromArchive(u32 param_0) {
mSection->newStaticSeqData(param_0);
}
void JAUAudioArcLoader_withoutCopy::newVoiceBank(u32 param_0, u32 param_1) {
mSection->newVoiceBank(param_1, param_0);
}
void JAUAudioArcLoader_withoutCopy::newDynamicSeqBlock(u32 param_0) {
JAUSectionHeap* sectionHeap = mSection->asSectionHeap();
JUT_ASSERT(166, sectionHeap);
sectionHeap->newDynamicSeqBlock(param_0);
}
void JAUAudioArcLoader_withoutCopy::readBSFT(void const* param_0) {
mSection->newStreamFileTable(param_0, false);
}
void JAUAudioArcLoader_withoutCopy::beginBNKList(u32 param_0, u32 param_1) {
mSection->beginNewBankTable(param_0, param_1);
}
void JAUAudioArcLoader_withoutCopy::endBNKList() {
mSection->endNewBankTable();
}
void JAUAudioArcLoader_withoutCopy::readMaxSeCategory(int param_0, int param_1, int param_2) {
{
JAISeMgr* seMgr = JASGlobalInstance<JAISeMgr>::getInstance();
if (seMgr) {
seMgr->getCategory(param_0)->setMaxActiveSe(param_1);
seMgr->getCategory(param_0)->setMaxInactiveSe(param_2);
}
}
}