blob: f30c5c4a01de20c0255f434d96cea4b9f03471ec (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
#include "JSystem/JSystem.h" // IWYU pragma: keep
#include "JSystem/JAudio2/JAUStreamFileTable.h"
JAUStreamFileTable::JAUStreamFileTable() {
mData = NULL;
}
void JAUStreamFileTable::init(void const* data) {
const BinaryStreamFileTable* binaryTable = (const BinaryStreamFileTable*)data;
if (binaryTable == NULL) {
mData = NULL;
return;
}
if (binaryTable->mIdentifier[0] == 'b' && binaryTable->mIdentifier[1] == 's' && binaryTable->mIdentifier[2] == 'f' && binaryTable->mIdentifier[3] == 't') {
mData = binaryTable;
}
}
u32 JAUStreamFileTable::getNumFiles() const {
return mData->mNumFiles;
}
const char* JAUStreamFileTable::getFilePath(int index) const {
if (mData == NULL) {
return 0;
}
JUT_ASSERT(52, index >= 0);
JUT_ASSERT(53, index < getNumFiles());
char* data = (char*)mData;
return (char*)(data + *(int*)(data + 8 + (index * sizeof(s32))));
}
s32 JAUStreamDataMgr_StreamFileTable::getStreamFileEntry(JAISoundID soundId) {
const char* filePath = getFilePath(soundId.id_.info.waveID);
if (filePath == NULL) {
return -1;
}
return DVDConvertPathToEntrynum(filePath);
}
|