mirror of
https://github.com/TwilitRealm/dusklight
synced 2026-06-08 19:49:32 -04:00
Merge branch 'main' into 26-02-27-allocator-isolation
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
#include "JSystem/JSystem.h" // IWYU pragma: keep
|
||||
|
||||
#include "JSystem/JAudio2/JASSimpleWaveBank.h"
|
||||
#include <stdint.h>
|
||||
|
||||
JASSimpleWaveBank::JASSimpleWaveBank() {
|
||||
mWaveTable = NULL;
|
||||
mWaveTableSize = 0;
|
||||
}
|
||||
|
||||
JASSimpleWaveBank::~JASSimpleWaveBank() {
|
||||
JKR_DELETE_ARRAY(mWaveTable);
|
||||
}
|
||||
|
||||
void JASSimpleWaveBank::setWaveTableSize(u32 size, JKRHeap* heap) {
|
||||
JKR_DELETE_ARRAY(mWaveTable);
|
||||
mWaveTable = JKR_NEW_ARGS (heap, 0) TWaveHandle[size];
|
||||
JUT_ASSERT(29, mWaveTable != NULL);
|
||||
mWaveTableSize = size;
|
||||
}
|
||||
|
||||
JASWaveHandle* JASSimpleWaveBank::getWaveHandle(u32 no) const {
|
||||
if (no >= mWaveTableSize) {
|
||||
return NULL;
|
||||
}
|
||||
return &mWaveTable[no];
|
||||
}
|
||||
|
||||
void JASSimpleWaveBank::setWaveInfo(u32 no, JASWaveInfo const& waveInfo) {
|
||||
mWaveTable[no].mWaveInfo = waveInfo;
|
||||
mWaveTable[no].mWaveInfo.field_0x20 = &_48;
|
||||
mWaveTable[no].mHeap = &mHeap;
|
||||
}
|
||||
|
||||
JASWaveArc* JASSimpleWaveBank::getWaveArc(u32 no) {
|
||||
if (no != 0) {
|
||||
return NULL;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
intptr_t JASSimpleWaveBank::TWaveHandle::getWavePtr() const {
|
||||
void* base = mHeap->getBase();
|
||||
if (base == NULL) {
|
||||
return 0;
|
||||
}
|
||||
return (intptr_t)base + mWaveInfo.field_0x08;
|
||||
}
|
||||
|
||||
JASSimpleWaveBank::TWaveHandle::TWaveHandle() {
|
||||
mHeap = NULL;
|
||||
}
|
||||
|
||||
const JASWaveInfo* JASSimpleWaveBank::TWaveHandle::getWaveInfo() const {
|
||||
return &mWaveInfo;
|
||||
}
|
||||
|
||||
u32 JASSimpleWaveBank::getArcCount() const {
|
||||
return 1;
|
||||
}
|
||||
Reference in New Issue
Block a user