summaryrefslogtreecommitdiff
path: root/src/JSystem/JAudio2/JASWSParser.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/JSystem/JAudio2/JASWSParser.cpp')
-rw-r--r--src/JSystem/JAudio2/JASWSParser.cpp24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/JSystem/JAudio2/JASWSParser.cpp b/src/JSystem/JAudio2/JASWSParser.cpp
index 2194561303..a03f73f35e 100644
--- a/src/JSystem/JAudio2/JASWSParser.cpp
+++ b/src/JSystem/JAudio2/JASWSParser.cpp
@@ -8,7 +8,8 @@
u32 JASWSParser::getGroupCount(void const* stream) {
THeader* header = (THeader*)stream;
- return header->mCtrlGroupOffset.ptr(header)->mGroupCount;
+ TCtrlGroup* group = header->mCtrlGroupOffset.ptr(header);
+ return group->mGroupCount;
}
@@ -38,9 +39,11 @@ JASBasicWaveBank* JASWSParser::createBasicWaveBank(void const* stream, JKRHeap*
wave_bank->setGroupCount(ctrl_group->mGroupCount, heap);
wave_bank->setWaveTableSize(header->mWaveTableSize, heap);
for (u32 i = 0; i < ctrl_group->mGroupCount; i++) {
- TCtrl* ctrl = ctrl_group->mCtrlSceneOffsets[i].ptr(header)->mCtrlOffset.ptr(header);
+ TCtrlScene* ctrlScene = ctrl_group->mCtrlSceneOffsets[i].ptr(header);
+ TCtrl* ctrl = ctrlScene->mCtrlOffset.ptr(header);
JASBasicWaveBank::TWaveGroup* wave_group = wave_bank->getWaveGroup(i);
- TWaveArchive* archive = header->mArchiveBankOffset.ptr(header)->mArchiveOffsets[i].ptr(header);
+ TWaveArchiveBank* archiveBank = header->mArchiveBankOffset.ptr(header);
+ TWaveArchive* archive = archiveBank->mArchiveOffsets[i].ptr(header);
wave_group->setWaveCount(ctrl->mWaveCount, heap);
for (int j = 0; j < ctrl->mWaveCount; j++) {
TWave* wave = archive->mWaveOffsets[j].ptr(header);
@@ -57,7 +60,8 @@ JASBasicWaveBank* JASWSParser::createBasicWaveBank(void const* stream, JKRHeap*
wave_info.field_0x1c = wave->_20;
wave_info.field_0x1e = wave->_22;
TCtrlWave* ctrl_wave = ctrl->mCtrlWaveOffsets[j].ptr(header);
- wave_bank->setWaveInfo(wave_group, j, JSULoHalf(ctrl_wave->_00), wave_info);
+ u16 local_74 = JSULoHalf(ctrl_wave->_00);
+ wave_bank->setWaveInfo(wave_group, j, local_74, wave_info);
}
wave_group->setFileName(archive->mFileName);
}
@@ -84,10 +88,13 @@ JASSimpleWaveBank* JASWSParser::createSimpleWaveBank(void const* stream, JKRHeap
}
u32 max = 0;
- TCtrl* ctrl = ctrl_group->mCtrlSceneOffsets[0].ptr(header)->mCtrlOffset.ptr(header);
- TWaveArchive* archive = header->mArchiveBankOffset.ptr(header)->mArchiveOffsets[0].ptr(header);
+ TCtrlScene* ctrlScene = ctrl_group->mCtrlSceneOffsets[0].ptr(header);
+ TCtrl* ctrl = ctrlScene->mCtrlOffset.ptr(header);
+ TWaveArchiveBank* archiveBank = header->mArchiveBankOffset.ptr(header);
+ TWaveArchive* archive = archiveBank->mArchiveOffsets[0].ptr(header);
for (int i = 0; i < ctrl->mWaveCount; i++) {
- u32 tmp = JSULoHalf(ctrl->mCtrlWaveOffsets[i].ptr(header)->_00);
+ TCtrlWave* ctrlWave = ctrl->mCtrlWaveOffsets[i].ptr(header);
+ u32 tmp = JSULoHalf(ctrlWave->_00);
if (max < tmp) {
max = tmp;
}
@@ -109,7 +116,8 @@ JASSimpleWaveBank* JASWSParser::createSimpleWaveBank(void const* stream, JKRHeap
wave_info.field_0x1c = wave->_20;
wave_info.field_0x1e = wave->_22;
TCtrlWave* ctrl_wave = ctrl->mCtrlWaveOffsets[i].ptr(header);
- wave_bank->setWaveInfo(JSULoHalf(ctrl_wave->_00), wave_info);
+ u32 tmp = JSULoHalf(ctrl_wave->_00);
+ wave_bank->setWaveInfo(tmp, wave_info);
}
wave_bank->setFileName(archive->mFileName);