sm64/include/PR/libaudio.h

52 lines
840 B
C
Raw Normal View History

2019-08-25 00:46:40 -04:00
#ifndef _ULTRA64_LIBAUDIO_H_
#define _ULTRA64_LIBAUDIO_H_
#include "abi.h"
typedef struct
{
u8 *offset;
s32 len;
2020-12-03 14:26:38 -05:00
#ifdef VERSION_SH
2021-07-12 23:17:54 -04:00
s8 medium;
s8 magic; // tbl: 0x04, otherwise: 0x03
2020-12-03 14:26:38 -05:00
// for ctl (else zeros):
union {
// unused, just for clarification (big endian)
struct {
u8 bank;
u8 ff;
u8 numInstruments;
u8 numDrums;
} as_u8;
// used
struct {
s16 bankAndFf;
s16 numInstrumentsAndDrums;
} as_s16;
} ctl;
#endif
2019-08-25 00:46:40 -04:00
} ALSeqData;
typedef struct
{
2020-12-03 14:26:38 -05:00
#ifndef VERSION_SH
2019-08-25 00:46:40 -04:00
s16 revision;
2020-12-03 14:26:38 -05:00
#endif
2019-08-25 00:46:40 -04:00
s16 seqCount;
2020-12-03 14:26:38 -05:00
#ifdef VERSION_SH
s16 unk2;
u8 *data;
2021-07-12 23:17:54 -04:00
#if !IS_64_BIT
2020-12-03 14:26:38 -05:00
s32 pad[2];
2021-07-12 23:17:54 -04:00
#endif
2020-12-03 14:26:38 -05:00
#endif
2019-08-25 00:46:40 -04:00
ALSeqData seqArray[1];
} ALSeqFile;
void alSeqFileNew(ALSeqFile *f, u8 *base);
#endif