Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/include/PR/libaudio.h
7858 views
1
#ifndef _ULTRA64_LIBAUDIO_H_
2
#define _ULTRA64_LIBAUDIO_H_
3
4
#include "abi.h"
5
6
typedef struct
7
{
8
u8 *offset;
9
s32 len;
10
#ifdef VERSION_SH
11
s8 medium;
12
s8 magic; // tbl: 0x04, otherwise: 0x03
13
14
// for ctl (else zeros):
15
union {
16
// unused, just for clarification (big endian)
17
struct {
18
u8 bank;
19
u8 ff;
20
u8 numInstruments;
21
u8 numDrums;
22
} as_u8;
23
24
// used
25
struct {
26
s16 bankAndFf;
27
s16 numInstrumentsAndDrums;
28
} as_s16;
29
} ctl;
30
#endif
31
} ALSeqData;
32
33
typedef struct
34
{
35
#ifndef VERSION_SH
36
s16 revision;
37
#endif
38
s16 seqCount;
39
#ifdef VERSION_SH
40
s16 unk2;
41
u8 *data;
42
#if !IS_64_BIT
43
s32 pad[2];
44
#endif
45
#endif
46
ALSeqData seqArray[1];
47
} ALSeqFile;
48
49
void alSeqFileNew(ALSeqFile *f, u8 *base);
50
51
#endif
52
53