mirror of
https://github.com/zeldaret/oot.git
synced 2025-05-11 11:33:48 +00:00
Partially label audio_synthesis
To some extent copied from sm64.
This commit is contained in:
parent
df800139af
commit
6c76c1875d
5 changed files with 336 additions and 365 deletions
|
@ -1891,51 +1891,7 @@ void UCodeDisas_Destroy(UCodeDisas*);
|
|||
void UCodeDisas_Disassemble(UCodeDisas*, Gfx*);
|
||||
void UCodeDisas_RegisterUCode(UCodeDisas*, s32, UCodeInfo*);
|
||||
void UCodeDisas_SetCurUCode(UCodeDisas*, void*);
|
||||
// ? func_800DACC0(?);
|
||||
// ? func_800DB03C(?);
|
||||
Acmd* AudioSynth_Update(Acmd* cmdStart, s32* cmdCnt, s16* aiStart, s32 aiBufLen);
|
||||
// ? func_800DB2C0(?);
|
||||
// ? func_800DB330(?);
|
||||
// ? func_800DB3D8(?);
|
||||
// ? func_800DB480(?);
|
||||
// ? func_800DB4E4(?);
|
||||
// ? func_800DB680(?);
|
||||
// ? func_800DB828(?);
|
||||
// ? func_800DBA40(?);
|
||||
// ? func_800DBAE8(?);
|
||||
// ? AudioSynth_ClearBuffer(?);
|
||||
// ? AudioSynth_Mix(?);
|
||||
// ? AudioSynth_SetBuffer(?);
|
||||
// ? AudioSynth_DMemMove(?);
|
||||
// ? AudioSynth_InterL(?);
|
||||
// ? func_800DBCD4(?);
|
||||
// ? AudioSynth_LoadBuffer(?);
|
||||
// ? AudioSynth_SaveBufferOffset(?);
|
||||
// ? AudioSynth_EnvSetup2(?);
|
||||
// ? AudioSynth_S8Dec(?);
|
||||
// ? AudioSynth_HiLoGain(?);
|
||||
// ? AudioSynth_UnkCmd19(?);
|
||||
// ? AudioSynth_UnkCmd3(?);
|
||||
// ? AudioSynth_SetFilter(?);
|
||||
// ? AudioSynth_SetFilterCount(?);
|
||||
// ? func_800DBEB0(?);
|
||||
// ? func_800DBF5C(?);
|
||||
// ? AudioSynth_LoadRingBuffer(?);
|
||||
// ? AudioSynth_SaveRingBuffer(?);
|
||||
// ? AudioSynth_SaveBufferOffset(?);
|
||||
// ? func_800DC124(?);
|
||||
// ? func_800DC164(?);
|
||||
// ? func_800DC1D8(?);
|
||||
// ? func_800DC2DC(?);
|
||||
// ? func_800DC384(?);
|
||||
// ? func_800DC910(?);
|
||||
// ? func_800DD62C(?);
|
||||
// ? func_800DD6CC(?);
|
||||
// ? func_800DD9F4(?);
|
||||
// ? func_800DDB64(?);
|
||||
f32 func_800DDE20(f32 arg0);
|
||||
void func_800DDE3C(void);
|
||||
void Audio_ResetLoadStatus(void);
|
||||
void Audio_DiscardBank(s32 bankId);
|
||||
void Audio_DiscardSequence(s32 seqId);
|
||||
void func_800DE238(void* mem, u32 size);
|
||||
|
|
|
@ -339,45 +339,23 @@ typedef short ENVMIX_STATE[40];
|
|||
_a->words.w1 = (unsigned int)(c); \
|
||||
}
|
||||
|
||||
/*
|
||||
#define aEnvMixer(pkt, f, s) \
|
||||
#define aEnvMixer(pkt, dmemi, count, swapLR, x0, x1, x2, x3, m, bits) \
|
||||
{ \
|
||||
Acmd *_a = (Acmd *)pkt; \
|
||||
\
|
||||
_a->words.w0 = _SHIFTL(A_ENVMIXER, 24, 8) | _SHIFTL(f, 16, 8); \
|
||||
_a->words.w1 = (unsigned int)(s); \
|
||||
}
|
||||
*/
|
||||
|
||||
extern u32 D_801304A0;
|
||||
|
||||
#define aEnvMixer(pkt, dmemi, count, swapLR, x0, x1, x2, x3, m) \
|
||||
{ \
|
||||
Acmd *_a = (Acmd *)pkt; \
|
||||
\
|
||||
_a->words.w0 = (D_801304A0 | _SHIFTL(dmemi >> 4, 16, 8) | \
|
||||
_a->words.w0 = (bits | _SHIFTL(dmemi >> 4, 16, 8) | \
|
||||
_SHIFTL(count, 8, 8) | _SHIFTL(swapLR, 4, 1) | \
|
||||
_SHIFTL(x0, 3, 1) | _SHIFTL(x1, 2, 1) | \
|
||||
_SHIFTL(x2, 1, 1) | _SHIFTL(x3, 0, 1)); \
|
||||
_a->words.w1 = (unsigned int)(m); \
|
||||
}
|
||||
|
||||
/*
|
||||
#define aInterleave(pkt, l, r) \
|
||||
{ \
|
||||
Acmd *_a = (Acmd *)pkt; \
|
||||
\
|
||||
_a->words.w0 = _SHIFTL(A_INTERLEAVE, 24, 8); \
|
||||
_a->words.w1 = _SHIFTL(l, 16, 16) | _SHIFTL(r, 0, 16); \
|
||||
}
|
||||
*/
|
||||
|
||||
#define aInterleave(pkt, count, d, l, r) \
|
||||
#define aInterleave(pkt, o, l, r, c) \
|
||||
{ \
|
||||
Acmd *_a = (Acmd *)pkt; \
|
||||
\
|
||||
_a->words.w0 = (_SHIFTL(A_INTERLEAVE, 24, 8) | \
|
||||
_SHIFTL(count >> 4, 16, 8) | _SHIFTL(d, 0, 16)); \
|
||||
_SHIFTL(c >> 4, 16, 8) | _SHIFTL(o, 0, 16)); \
|
||||
_a->words.w1 = _SHIFTL(l, 16, 16) | _SHIFTL(r, 0, 16); \
|
||||
}
|
||||
|
||||
|
@ -390,16 +368,6 @@ extern u32 D_801304A0;
|
|||
_a->words.w1 = _SHIFTL(dmemi, 16, 16) | _SHIFTL(dmemo, 0, 16); \
|
||||
}
|
||||
|
||||
/*
|
||||
#define aLoadBuffer(pkt, s) \
|
||||
{ \
|
||||
Acmd *_a = (Acmd *)pkt; \
|
||||
\
|
||||
_a->words.w0 = _SHIFTL(A_LOADBUFF, 24, 8); \
|
||||
_a->words.w1 = (unsigned int)(s); \
|
||||
}
|
||||
*/
|
||||
|
||||
#define aLoadBuffer(pkt, s, d, c) \
|
||||
{ \
|
||||
Acmd *_a = (Acmd *)pkt; \
|
||||
|
@ -436,16 +404,6 @@ extern u32 D_801304A0;
|
|||
_a->words.w1 = (unsigned int)(s); \
|
||||
}
|
||||
|
||||
/*
|
||||
#define aSaveBuffer(pkt, s) \
|
||||
{ \
|
||||
Acmd *_a = (Acmd *)pkt; \
|
||||
\
|
||||
_a->words.w0 = _SHIFTL(A_SAVEBUFF, 24, 8); \
|
||||
_a->words.w1 = (unsigned int)(s); \
|
||||
}
|
||||
*/
|
||||
|
||||
#define aSaveBuffer(pkt, s, d, c) \
|
||||
{ \
|
||||
Acmd *_a = (Acmd *)pkt; \
|
||||
|
|
|
@ -35,6 +35,9 @@
|
|||
#define CODEC_ADPCM 0
|
||||
#define CODEC_S8 1
|
||||
|
||||
#define DEFAULT_LEN_1CH 0x1A0
|
||||
#define DEFAULT_LEN_2CH 0x340
|
||||
|
||||
struct Note;
|
||||
struct NotePool;
|
||||
struct SequenceChannel;
|
||||
|
@ -141,11 +144,10 @@ typedef struct {
|
|||
/* 0x00A */ s16 unk_0A;
|
||||
/* 0x00C */ u16 unk_0C;
|
||||
/* 0x00E */ u16 unk_0E;
|
||||
/* 0x010 */ s16 unk_10;
|
||||
/* 0x012 */ s16 unk_12;
|
||||
/* 0x010 */ s16 leakRtl;
|
||||
/* 0x012 */ s16 leakLtr;
|
||||
/* 0x014 */ u16 unk_14;
|
||||
/* 0x016 */ s16 unk_16;
|
||||
|
||||
/* 0x018 */ u8 unk_18;
|
||||
/* 0x019 */ u8 unk_19;
|
||||
/* 0x01A */ u8 unk_1A;
|
||||
|
@ -159,13 +161,12 @@ typedef struct {
|
|||
/* 0x034 */ void* unk_34;
|
||||
/* 0x038 */ void* unk_38;
|
||||
/* 0x03C */ void* unk_3C;
|
||||
|
||||
/* 0x040 */ ReverbRingBufferItem items[2][5];
|
||||
/*?0x158 */ ReverbRingBufferItem items2[2][5];
|
||||
/* 0x270 */ s16* unk_270;
|
||||
/* 0x274 */ s16* unk_274;
|
||||
/* 0x278 */ void* unk_278;
|
||||
/* 0x27C */ void* unk_27C;
|
||||
/* 0x158 */ ReverbRingBufferItem items2[2][5];
|
||||
/* 0x270 */ s16* filterLeft;
|
||||
/* 0x274 */ s16* filterRight;
|
||||
/* 0x278 */ s16* filterLeftState;
|
||||
/* 0x27C */ s16* filterRightState;
|
||||
/* 0x280 */ AudioBankSound sound;
|
||||
/* 0x288 */ AudioBankSample sample;
|
||||
/* 0x298 */ AdpcmLoop loop;
|
||||
|
@ -567,8 +568,8 @@ typedef struct {
|
|||
/* 0x06 */ u16 unk_6;
|
||||
/* 0x08 */ u16 unk_8;
|
||||
/* 0x0A */ u16 unk_A;
|
||||
/* 0x0C */ u16 unk_C;
|
||||
/* 0x0E */ u16 unk_E;
|
||||
/* 0x0C */ u16 leakRtl;
|
||||
/* 0x0E */ u16 leakLtr;
|
||||
/* 0x10 */ s8 unk_10;
|
||||
/* 0x12 */ u16 unk_12;
|
||||
/* 0x14 */ s16 unk_14;
|
||||
|
|
|
@ -898,8 +898,8 @@ void Audio_InitHeap(void) {
|
|||
reverb->unk_14 = settings->unk_6 * 64;
|
||||
reverb->unk_16 = settings->unk_8;
|
||||
reverb->unk_18 = 0;
|
||||
reverb->unk_10 = settings->unk_C;
|
||||
reverb->unk_12 = settings->unk_E;
|
||||
reverb->leakRtl = settings->leakRtl;
|
||||
reverb->leakLtr = settings->leakLtr;
|
||||
reverb->unk_05 = settings->unk_10;
|
||||
reverb->unk_08 = settings->unk_12;
|
||||
reverb->useReverb = 8;
|
||||
|
@ -939,19 +939,19 @@ void Audio_InitHeap(void) {
|
|||
}
|
||||
|
||||
if (settings->unk_14 != 0) {
|
||||
reverb->unk_278 = Audio_AllocDmaMemoryZeroed(&gAudioContext.notesAndBuffersPool, 0x40);
|
||||
reverb->unk_270 = Audio_AllocDmaMemory(&gAudioContext.notesAndBuffersPool, 8 * sizeof(s16));
|
||||
func_800DF5DC(reverb->unk_270, settings->unk_14);
|
||||
reverb->filterLeftState = Audio_AllocDmaMemoryZeroed(&gAudioContext.notesAndBuffersPool, 0x40);
|
||||
reverb->filterLeft = Audio_AllocDmaMemory(&gAudioContext.notesAndBuffersPool, 8 * sizeof(s16));
|
||||
func_800DF5DC(reverb->filterLeft, settings->unk_14);
|
||||
} else {
|
||||
reverb->unk_270 = NULL;
|
||||
reverb->filterLeft = NULL;
|
||||
}
|
||||
|
||||
if (settings->unk_16 != 0) {
|
||||
reverb->unk_27C = Audio_AllocDmaMemoryZeroed(&gAudioContext.notesAndBuffersPool, 0x40);
|
||||
reverb->unk_274 = Audio_AllocDmaMemory(&gAudioContext.notesAndBuffersPool, 8 * sizeof(s16));
|
||||
func_800DF5DC(reverb->unk_274, settings->unk_16);
|
||||
reverb->filterRightState = Audio_AllocDmaMemoryZeroed(&gAudioContext.notesAndBuffersPool, 0x40);
|
||||
reverb->filterRight = Audio_AllocDmaMemory(&gAudioContext.notesAndBuffersPool, 8 * sizeof(s16));
|
||||
func_800DF5DC(reverb->filterRight, settings->unk_16);
|
||||
} else {
|
||||
reverb->unk_274 = NULL;
|
||||
reverb->filterRight = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load diff
Loading…
Add table
Reference in a new issue