Unhardcode sound effects wave bank in replacements

This commit is contained in:
PJB3005
2026-07-26 14:25:28 +02:00
parent 63d4ce2e8f
commit f6e05eb04f
7 changed files with 14 additions and 7 deletions
@@ -50,7 +50,7 @@ struct JASBasicWaveBank : public JASWaveBank {
u32 getWaveCount() const { return mWaveCount; }
};
JASBasicWaveBank();
JASBasicWaveBank(IF_DUSK(u32 bankId));
~JASBasicWaveBank();
TWaveGroup* getWaveGroup(u32);
void setGroupCount(u32, JKRHeap*);
@@ -21,7 +21,7 @@ struct JASSimpleWaveBank : JASWaveBank, JASWaveArc {
/* 0x28 */ JASHeap* mHeap;
};
JASSimpleWaveBank();
JASSimpleWaveBank(IF_DUSK(u32 bankId));
~JASSimpleWaveBank();
void setWaveTableSize(u32, JKRHeap*);
JASWaveHandle* getWaveHandle(u32) const;
@@ -59,6 +59,12 @@ public:
*/
class JASWaveBank {
public:
#if TARGET_PC
const u32 bankId;
JASWaveBank(u32 bankId) : bankId(bankId) { }
#endif
virtual ~JASWaveBank() {}
virtual JASWaveHandle* getWaveHandle(u32) const = 0;
virtual JASWaveArc* getWaveArc(u32) = 0;
+2 -1
View File
@@ -33,7 +33,8 @@ JASChannel* JASBank::noteOn(JASBank const* param_0, int param_1, u8 param_2, u8
return NULL;
}
#if TARGET_PC
auto const found_replacement = s_replacements.find(AudioWaveKey(SoundEffects, stack_60.field_0x1a));
auto const key = AudioWaveKey(static_cast<AudioWaveBank>(waveBank->bankId), stack_60.field_0x1a);
auto const found_replacement = s_replacements.find(key);
if (found_replacement != s_replacements.end()) {
waveHandle = found_replacement->second.get();
}
@@ -6,7 +6,7 @@
#include "JSystem/JUtility/JUTAssert.h"
#include <stdint.h>
JASBasicWaveBank::JASBasicWaveBank() {
JASBasicWaveBank::JASBasicWaveBank(IF_DUSK(u32 bankId)) IF_DUSK(: JASWaveBank(bankId)) {
mWaveTable = NULL;
mWaveGroupArray = NULL;
mHandleCount = 0;
@@ -3,7 +3,7 @@
#include "JSystem/JAudio2/JASSimpleWaveBank.h"
#include <stdint.h>
JASSimpleWaveBank::JASSimpleWaveBank() {
JASSimpleWaveBank::JASSimpleWaveBank(IF_DUSK(u32 bankId)) IF_DUSK(: JASWaveBank(bankId)) {
mWaveTable = NULL;
mWaveTableSize = 0;
}
+2 -2
View File
@@ -30,7 +30,7 @@ JASBasicWaveBank* JASWSParser::createBasicWaveBank(void const* stream, JKRHeap*
u32 free_size = heap->getFreeSize();
THeader* header = (THeader*)stream;
JASBasicWaveBank* wave_bank = JKR_NEW_ARGS (heap, 0) JASBasicWaveBank;
JASBasicWaveBank* wave_bank = JKR_NEW_ARGS (heap, 0) JASBasicWaveBank IF_DUSK((header->mId));
if (wave_bank == NULL) {
return NULL;
}
@@ -82,7 +82,7 @@ JASSimpleWaveBank* JASWSParser::createSimpleWaveBank(void const* stream, JKRHeap
return NULL;
}
JASSimpleWaveBank* wave_bank = JKR_NEW_ARGS (heap, 0) JASSimpleWaveBank;
JASSimpleWaveBank* wave_bank = JKR_NEW_ARGS (heap, 0) JASSimpleWaveBank IF_DUSK((header->mId));
if (wave_bank == NULL) {
return NULL;
}