blob: bf975e56b407c6494d742b503827195973e17729 (
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
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
#include "JSystem/JSystem.h" // IWYU pragma: keep
#include "JSystem/JAudio2/JAUSeqCollection.h"
#include "JSystem/JUtility/JUTAssert.h"
JAUSeqCollection::JAUSeqCollection() {
mHeader = NULL;
}
void JAUSeqCollection::init(void const* param_0) {
mHeader = (const JAUSeqCollectionData*)param_0;
if (mHeader->mMagic1 != 0x53 || mHeader->mMagic2 != 0x43) {
mHeader = NULL;
return;
}
mNumSoundCategories = mHeader->mNumSoundCategories;
mSectionSize = mHeader->mSectionSize;
mTableOffsets = mHeader->mTableOffsets;
}
bool JAUSeqCollection::getSeqData(int param_0, int param_1, JAISeqData* param_2) {
if (param_0 >= mNumSoundCategories) {
return false;
}
u32 r29 = mTableOffsets[param_0];
u32* puVar2 = (u32*)((u8*)mHeader + r29);
if (param_1 >= puVar2[0]) {
return false;
}
param_2->set((void*)mHeader, puVar2[param_1 + 1]);
return true;
}
bool JAUSeqCollection::getSeqDataRegion(JAISeqDataRegion* param_0) {
if (isValid()) {
param_0->addr = (u8*)mHeader;
param_0->size = mSectionSize;
return true;
}
return false;
}
JAUSeqDataMgr_SeqCollection::JAUSeqDataMgr_SeqCollection() {
user_ = NULL;
}
bool JAUSeqDataMgr_SeqCollection::setSeqDataUser(JAISeqDataUser* param_0) {
JUT_ASSERT(60, user_ == NULL);
user_ = param_0;
return true;
}
int JAUSeqDataMgr_SeqCollection::releaseSeqData() {
if (user_) {
JAISeqDataRegion region;
getSeqDataRegion(®ion);
int result = user_->releaseSeqData(region);
return result;
}
return 2;
}
JAUSeqDataMgr_SeqCollection::SeqDataReturnValue JAUSeqDataMgr_SeqCollection::getSeqData(JAISoundID param_0, JAISeqData* param_1) {
if (!isValid()) {
return SeqDataReturnValue_0;
}
if (JAUSeqCollection::getSeqData(param_0.id_.info.type.parts.groupID, param_0.id_.info.waveID, param_1)) {
return SeqDataReturnValue_2;
}
return SeqDataReturnValue_0;
}
JAUSeqDataMgr_SeqCollection::~JAUSeqDataMgr_SeqCollection() {}
|