Files
dusklight/src/JSystem/JAudio2/JAUAudioArcInterpreter.cpp
T
TakaRikka dfa8efa97b project cleanup (#2895)
* some wii OS fixes

* remove old dol2asm comments

* remove dol2asm.h

* remove function address comments

* normalize ATTRIBUTE_ALIGN usage

* DECL_WEAK macro

* fix gcc attribute weak macro

* wrap more mwcc specific things in ifdefs

* fixes

* fix revo sdk version flags

* fixes
2025-11-30 15:23:42 -07:00

116 lines
2.6 KiB
C++

#include "JSystem/JSystem.h" // IWYU pragma: keep
#include "JSystem/JAudio2/JAUAudioArcInterpreter.h"
#include "JSystem/JUtility/JUTAssert.h"
JAUAudioArcInterpreter::JAUAudioArcInterpreter() {
mBase = NULL;
mReadPtr = NULL;
}
JAUAudioArcInterpreter::~JAUAudioArcInterpreter() {}
bool JAUAudioArcInterpreter::parse(void const* param_0) {
mBase = (const u8*)param_0;
mReadPtr = mBase;
if (readU32_() != 'AA_<') {
return false;
}
while (readCommand_()) {}
return true;
}
bool JAUAudioArcInterpreter::readCommandMore(u32 param_0) {
return false;
}
bool JAUAudioArcInterpreter::readCommand_() {
u32 cmd = readU32_();
switch (cmd) {
case '>_AA':
return false;
case 'ws ': {
u32 var1 = readU32_();
u32 var2 = readU32_();
u32 var3 = readU32_();
readWS(var1, getContent_(var2), var3);
break;
}
case 'bnk ': {
u32 var1 = readU32_();
u32 var2 = readU32_();
readBNK(var1, getContent_(var2));
break;
}
case 'bl_<': {
u32 var1 = readU32_();
u32 var2 = readU32_();
beginBNKList(var1, var2);
break;
}
case '>_bl':
endBNKList();
break;
case 'bsc ': {
u32 var1 = readU32_();
u32 var2 = readU32_();
readBSC(getContent_(var1), var2 - var1);
break;
}
case 'bst ': {
u32 var1 = readU32_();
u32 var2 = readU32_();
readBST(getContent_(var1), var2 - var1);
break;
}
case 'bstn': {
u32 var1 = readU32_();
u32 var2 = readU32_();
readBSTN(getContent_(var1), var2 - var1);
break;
}
case 'bms ': {
u32 var1 = readU32_();
u32 var2 = readU32_();
u32 var3 = readU32_();
readBMS(var1, getContent_(var2), var3 - var2);
break;
}
case 'bmsa': {
u32 var1 = readU32_();
readBMS_fromArchive(var1);
break;
}
case 'vbnk': {
u32 var1 = readU32_();
u32 var2 = readU32_();
newVoiceBank(var1, var2);
break;
}
case 'dsqb': {
u32 var1 = readU32_();
newDynamicSeqBlock(var1);
break;
}
case 'bsft': {
u32 var1 = readU32_();
readBSFT(getContent_(var1));
break;
}
case 'sect': {
readU8_();
u8 var1 = readU8_();
u8 var2 = readU8_();
u8 var3 = readU8_();
readMaxSeCategory(var1, var2, var3);
break;
}
default:
if (!readCommandMore(cmd)) {
JUT_ASSERT(145, false);
}
break;
}
return true;
}