diff options
| author | Luke Street <luke@street.dev> | 2026-03-01 15:35:36 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-01 14:35:36 -0800 |
| commit | 9649319ec4926457ef85e6094f8207474c977c2d (patch) | |
| tree | 1c5cd4c7cc4c1aee03f28921213da47f2775444d /libs/JSystem/src/JAudio2/JAUStreamFileTable.cpp | |
| parent | 6e149819e13b1f70ecbf8a4c66b030c17ffed2bb (diff) | |
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
Diffstat (limited to 'libs/JSystem/src/JAudio2/JAUStreamFileTable.cpp')
| -rw-r--r-- | libs/JSystem/src/JAudio2/JAUStreamFileTable.cpp | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/libs/JSystem/src/JAudio2/JAUStreamFileTable.cpp b/libs/JSystem/src/JAudio2/JAUStreamFileTable.cpp new file mode 100644 index 0000000000..f30c5c4a01 --- /dev/null +++ b/libs/JSystem/src/JAudio2/JAUStreamFileTable.cpp @@ -0,0 +1,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); +} |
