diff options
| author | zelda2774 <69368340+zelda2774@users.noreply.github.com> | 2021-09-07 19:50:50 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-07 13:50:50 -0400 |
| commit | d63ed0c17aeae4c0ccdec311212f151ab4200d5c (patch) | |
| tree | 6d61136d2c22bc3977996ce075775b93aa328041 /src/code/code_800EC960.c | |
| parent | b1cd46c37c3d446d97dfb29d1f1bc920973358c2 (diff) | |
code_800F9280 OK (#945)
* Match func_800F9280
* Match func_800FA3DC
* Audio_ProcessSeqCmd
* macro cleanup
* review
Co-authored-by: zelda2774 <zelda2774@invalid>
Diffstat (limited to 'src/code/code_800EC960.c')
| -rw-r--r-- | src/code/code_800EC960.c | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/src/code/code_800EC960.c b/src/code/code_800EC960.c index fe071b65a..5d928b539 100644 --- a/src/code/code_800EC960.c +++ b/src/code/code_800EC960.c @@ -1,6 +1,22 @@ #include "ultra64.h" #include "global.h" +// TODO: can these macros be shared between files? code_800F9280 seems to use +// versions without any casts... +#define Audio_DisableSeq(seqIdx, fadeOut) Audio_QueueCmdS32(0x83000000 | ((u8)seqIdx << 16), fadeOut) +#define Audio_StartSeq(seqIdx, fadeTimer, seqId) Audio_QueueSeqCmd(0x00000000 | ((u8)seqIdx << 24) | ((u8)(fadeTimer) << 0x10) | (u16)seqId) +#define Audio_SeqCmd7(seqIdx, a, b) Audio_QueueSeqCmd(0x70000000 | ((u8)seqIdx << 0x18) | ((u8)a << 0x10) | (u8)(b)) +#define Audio_SeqCmdC(seqIdx, a, b, c) Audio_QueueSeqCmd(0xC0000000 | ((u8)seqIdx << 24) | ((u8)a << 16) | ((u8)b << 8) | ((u8)(c))) +#define Audio_SeqCmdA(seqIdx, a) Audio_QueueSeqCmd(0xA0000000 | ((u8)seqIdx << 24) | ((u16)(a))) +#define Audio_SeqCmd1(seqIdx, a) Audio_QueueSeqCmd(0x100000FF | ((u8)seqIdx << 24) | ((u8)(a) << 16)) +#define Audio_SeqCmdB(seqIdx, a, b, c) Audio_QueueSeqCmd(0xB0000000 | ((u8)seqIdx << 24) | ((u8)a << 16) | ((u8)b << 8) | ((u8)c)) +#define Audio_SeqCmdB40(seqIdx, a, b) Audio_QueueSeqCmd(0xB0004000 | ((u8)seqIdx << 24) | ((u8)a << 16) | ((u8)b)) +#define Audio_SeqCmd6(seqIdx, a, b, c) Audio_QueueSeqCmd(0x60000000 | ((u8)seqIdx << 24) | ((u8)(a) << 16) | ((u8)b << 8) | ((u8)c)) +#define Audio_SeqCmdE0(seqIdx, a) Audio_QueueSeqCmd(0xE0000000 | ((u8)seqIdx << 24) | ((u8)a)) +#define Audio_SeqCmdE01(seqIdx, a) Audio_QueueSeqCmd(0xE0000100 | ((u8)seqIdx << 24) | ((u16)a)) +#define Audio_SeqCmd8(seqIdx, a, b, c) Audio_QueueSeqCmd(0x80000000 | ((u8)seqIdx << 24) | ((u8)a << 16) | ((u8)b << 8) | ((u8)c)) +#define Audio_SeqCmdF(seqIdx, a) Audio_QueueSeqCmd(0xF0000000 | ((u8)seqIdx << 24) | ((u8)a)) + typedef struct { /* 0x0 */ f32 unk_00; /* 0x4 */ f32 freqScale; @@ -19,9 +35,9 @@ typedef struct { } FreqLerp; typedef struct { - u16 unk_00; - u16 unk_02; - u8 unk_04[100]; + /* 0x0 */ u16 unk_00; + /* 0x2 */ u16 unk_02; + /* 0x4 */ u8 unk_04[100]; } D_801306DC_s; // size = 0x68 typedef enum { @@ -389,7 +405,6 @@ OcarinaSongInfo gOcarinaSongNotes[14] = { extern u8 D_801333F0; extern u8 gAudioSEFlagSwapOff; extern u8 D_80133408; -extern u8 D_8013340C; extern u8 D_80133418; /** |
