sm64

A Super Mario 64 decompilation
Log | Files | Refs | README | LICENSE

libaudio.h (928B)


      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 #if defined(VERSION_SH) || defined(VERSION_CN)
     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 #if !defined(VERSION_SH) && !defined(VERSION_CN)
     36     s16 revision;
     37 #endif
     38     s16 seqCount;
     39 #if defined(VERSION_SH) || defined(VERSION_CN)
     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