mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-08-14 10:37:17 -07:00
Merge branch 'zapd_audio_support' into zelda64
This commit is contained in:
commit
bb90be6748
16 changed files with 127 additions and 59 deletions
|
@ -113,7 +113,6 @@
|
|||
<Sequence Name="108_Timed_Minigame"/>
|
||||
<Sequence Name="109_Cutscene_Effects"/>
|
||||
</Sequences>
|
||||
|
||||
<Samples Bank="0">
|
||||
<Sample Name="Bird Chirp 1">
|
||||
<Offset Version="MQDebug" At="0"/>
|
||||
|
@ -1432,7 +1431,6 @@
|
|||
<Offset Version="MQDebug" At="0"/>
|
||||
</Sample>
|
||||
</Samples>
|
||||
|
||||
<Samples Bank="3">
|
||||
<Sample Name="Low Rumbling">
|
||||
<Offset Version="MQDebug" At="0"/>
|
||||
|
@ -1552,4 +1550,4 @@
|
|||
<Soundfont Name="21_Zoras_Domain" Index="21"/>
|
||||
</Audio>
|
||||
</File>
|
||||
</Root>
|
||||
</Root>
|
||||
|
|
|
@ -125,7 +125,8 @@ typedef struct {
|
|||
/* 0x08 */ s16 book[1]; // size 8 * order * npredictors. 8-byte aligned
|
||||
} AdpcmBook; // size >= 0x8
|
||||
|
||||
typedef struct {
|
||||
typedef struct
|
||||
{
|
||||
union {
|
||||
struct {
|
||||
/* 0x00 */ u32 codec : 4;
|
||||
|
|
|
@ -568,21 +568,20 @@ extern "C" Vtx* ResourceMgr_LoadVtxByName(const char* path)
|
|||
|
||||
extern "C" SequenceData ResourceMgr_LoadSeqByName(const char* path)
|
||||
{
|
||||
auto file = OTRGlobals::Instance->context->GetResourceManager()->LoadFile(path).get();
|
||||
|
||||
char* data = file->buffer.get();
|
||||
auto file = std::static_pointer_cast<Ship::AudioSequence>(OTRGlobals::Instance->context->GetResourceManager()
|
||||
->LoadResource(path));
|
||||
|
||||
SequenceData seqData;
|
||||
seqData.seqNumber = data[1];
|
||||
seqData.medium = data[2];
|
||||
seqData.cachePolicy = data[3];
|
||||
seqData.numFonts = data[4];
|
||||
seqData.seqNumber = file->seqNumber;
|
||||
seqData.medium = file->medium;
|
||||
seqData.cachePolicy = file->cachePolicy;
|
||||
seqData.numFonts = file->fonts.size();
|
||||
|
||||
for (int i = 0; i < seqData.numFonts; i++)
|
||||
seqData.fonts[i] = data[5 + i];
|
||||
seqData.fonts[i] = file->fonts[i];
|
||||
|
||||
seqData.seqData = &data[5 + seqData.numFonts];
|
||||
seqData.seqDataSize = file->dwBufferSize - 5 - seqData.numFonts;
|
||||
seqData.seqData = file->seqData.data();
|
||||
seqData.seqDataSize = file->seqData.size();
|
||||
|
||||
return seqData;
|
||||
}
|
||||
|
@ -785,7 +784,9 @@ extern "C" SoundFont* ResourceMgr_LoadAudioSoundFont(const char* path) {
|
|||
}
|
||||
|
||||
soundFontC->instruments[i] = inst;
|
||||
} else {
|
||||
}
|
||||
else
|
||||
{
|
||||
soundFontC->instruments[i] = nullptr;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -76,7 +76,8 @@ void* sUnusedHandler = NULL;
|
|||
|
||||
s32 gAudioContextInitalized = false;
|
||||
|
||||
char* sequenceMap[512];
|
||||
char* sequenceMap[256];
|
||||
char* fontMap[256];
|
||||
|
||||
uintptr_t fontStart;
|
||||
uint32_t fontOffsets[8192];
|
||||
|
@ -389,6 +390,7 @@ SoundFontData* AudioLoad_SyncLoadSeqFonts(s32 seqId, u32* outDefaultFontId) {
|
|||
|
||||
while (numFonts > 0) {
|
||||
fontId = gAudioContext.sequenceFontTable[index++];
|
||||
|
||||
font = AudioLoad_SyncLoadFont(fontId);
|
||||
numFonts--;
|
||||
}
|
||||
|
@ -609,6 +611,7 @@ s32 AudioLoad_SyncInitSeqPlayerInternal(s32 playerIdx, s32 seqId, s32 arg2) {
|
|||
}
|
||||
|
||||
seqData = AudioLoad_SyncLoadSeq(seqId);
|
||||
|
||||
if (seqData == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
@ -897,7 +900,6 @@ void AudioLoad_RelocateFont(s32 fontId, SoundFontData* mem, RelocInfo* relocInfo
|
|||
SoundFontSound* sfx;
|
||||
s32 i;
|
||||
SoundFont* sf = NULL;
|
||||
|
||||
s32 numDrums = 0;
|
||||
s32 numInstruments = 0;
|
||||
s32 numSfx = 0;
|
||||
|
|
|
@ -356,6 +356,7 @@ Instrument* Audio_GetInstrumentInner(s32 fontId, s32 instId) {
|
|||
}
|
||||
|
||||
|
||||
|
||||
return inst;
|
||||
}
|
||||
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
extern bool gUseLegacySD;
|
||||
extern char* sequenceMap[256];
|
||||
char* fontMap[256];
|
||||
|
||||
#define PORTAMENTO_IS_SPECIAL(x) ((x).mode & 0x80)
|
||||
#define PORTAMENTO_MODE(x) ((x).mode & ~0x80)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue