Files
tww/src/JSystem/JAudio/JAIInitData.cpp
T
2024-07-06 13:49:32 -04:00

120 lines
4.6 KiB
C++

//
// Generated by dtk
// Translation Unit: JAIInitData.cpp
//
#include "JSystem/JAudio/JAIInitData.h"
#include "JSystem/JAudio/JAIBankWave.h"
#include "JSystem/JAudio/JAIBasic.h"
#include "JSystem/JAudio/JAIConst.h"
#include "JSystem/JAudio/JAIFx.h"
#include "JSystem/JAudio/JAIGlobalParameter.h"
#include "JSystem/JAudio/JAISoundTable.h"
#include "JSystem/JAudio/JAIStreamMgr.h"
#include "JSystem/JAudio/JAISystemInterface.h"
#include "JSystem/JAudio/JASSystemHeap.h"
#include "JSystem/JKernel/JKRSolidHeap.h"
#include "JSystem/JUtility/JUTAssert.h"
#include "stdio.h"
#include "string.h"
u32* JAInter::InitData::aafPointer;
/* 80292460-80292548 .text checkInitDataFile__Q27JAInter8InitDataFv */
BOOL JAInter::InitData::checkInitDataFile() {
if (!SystemInterface::checkFileExsistence(JAIGlobalParameter::getParamInitDataFileName())) {
char* fileName = (char*)JASDram->alloc(strlen(JAIGlobalParameter::getParamAudioResPath()) + strlen(JAIGlobalParameter::getParamInitDataFileName()) + 1, 0);
sprintf(fileName, "%s%s%c", JAIGlobalParameter::getParamAudioResPath(), JAIGlobalParameter::getParamInitDataFileName(), 0);
JAIGlobalParameter::setParamInitDataFileName(fileName);
if (!SystemInterface::checkFileExsistence(JAIGlobalParameter::getParamInitDataFileName())) {
return false;
}
}
loadTmpDVDFile(JAIGlobalParameter::getParamInitDataFileName(), (u8**)&aafPointer);
if (aafPointer) {
checkInitDataOnMemory();
deleteTmpDVDFile((u8**)&aafPointer);
return true;
}
return false;
}
/* 80292548-8029285C .text checkInitDataOnMemory__Q27JAInter8InitDataFv */
void JAInter::InitData::checkInitDataOnMemory() {
int r30 = 0;
u32 r29 = true;
u8 r31;
u8* temp;
while (r29) {
switch (aafPointer[r30++]) {
case 0:
r29 = false;
break;
case 1: {
u8* var1 = (u8*)aafPointer + aafPointer[r30++];
u32 var2 = aafPointer[r30];
SoundTable::init(transInitDataFile(var1, var2), var2);
r30 += 2;
break;
}
case 2:
r31 = 0;
temp = (u8*)(aafPointer + r30);
u32 var6;
for (var6 = 0; aafPointer[r30 + var6]; var6 += 3) {}
BankWave::initOnCodeBnk = (BankWave::initOnCode_s*)transInitDataFile(temp, var6 / 3 * 12 + 4);
for (; aafPointer[r30]; r31++, r30 += 3) {
BankWave::initOnCodeBnk[r31].field_0x0 = (u8*)aafPointer + (u32)BankWave::initOnCodeBnk[r31].field_0x0;
}
r30++;
break;
case 3:
r31 = 0;
temp = (u8*)(aafPointer + r30);
for (var6 = 0; aafPointer[r30 + var6]; var6 += 3) {}
BankWave::initOnCodeWs = (BankWave::initOnCode_s*)transInitDataFile(temp, var6 / 3 * 12 + 4);
for (; aafPointer[r30]; r30 += 3, r31++) {
BankWave::initOnCodeWs[r31].field_0x0 = (u8*)aafPointer + (u32)BankWave::initOnCodeWs[r31].field_0x0;
BankWave::wsMax++;
}
r30++;
break;
case 4:
JUT_WARN(120, "%s", "Hed file is not needed. Remove this file('aaf')\n");
r30 += 3;
break;
case 5:
StreamMgr::initOnCodeStrm = (JAInter::streamList_t*)transInitDataFile((u8*)(aafPointer + r30), 8);
// fakematch?
*(JAInter::streamList_t**)StreamMgr::initOnCodeStrm = (JAInter::streamList_t*)transInitDataFile((u8*)aafPointer + aafPointer[r30], aafPointer[r30 + 1]);
StreamMgr::streamList = *(JAInter::streamList_t**)StreamMgr::initOnCodeStrm;
r30 += 3;
break;
case 6: {
u32* r28 = (u32*)transInitDataFile((u8*)aafPointer + aafPointer[r30], aafPointer[r30 + 1]);
JAIGlobalParameter::setParamSoundSceneMax(*r28);
JAIBasic::getInterface()->field_0x1c = (u8**)(r28 + 1);
for (int i = 0; i < JAIGlobalParameter::getParamSoundSceneMax(); i++) {
JAIBasic::getInterface()->field_0x1c[i] += u32(r28);
}
r30 += 3;
break;
}
case 7:
Fx::initOnCodeFxScene = (Fx::initOnCodeFxScene_s*)transInitDataFile((u8*)aafPointer + aafPointer[r30], aafPointer[r30 + 1]);
r30 += 3;
break;
case 8: {
u8* tmp = transInitDataFile((u8*)aafPointer + aafPointer[r30], (aafPointer[r30 + 1] & 0xFFF0) + 16);
JAIBasic::getInterface()->field_0x18 = tmp;
r30 += 3;
break;
}
default:
while (aafPointer[r30++]) {}
break;
}
}
BankWave::init();
}