Super Mario 64 Source
A Super Mario 64 decompilation, brought to you by a bunch of clever folks.
load.h
Go to the documentation of this file.
1 #ifndef _AUDIO_LOAD_H
2 #define _AUDIO_LOAD_H
3 
4 #include "internal.h"
5 
6 #define AUDIO_FRAME_DMA_QUEUE_SIZE 0x40
7 
8 #define PRELOAD_BANKS 2
9 #define PRELOAD_SEQUENCE 1
10 
11 #define IS_SEQUENCE_CHANNEL_VALID(ptr) ((u32)(ptr) != (u32)&gSequenceChannelNone)
12 
13 extern struct Note *gNotes;
14 
15 // Music in SM64 is played using 3 players:
16 // gSequencePlayers[0] is level background music
17 // gSequencePlayers[1] is misc music, like the puzzle jingle
18 // gSequencePlayers[2] is sound
20 
21 extern struct SequenceChannel gSequenceChannels[32];
22 
23 #ifdef VERSION_JP
24 extern struct SequenceChannelLayer D_802245D8[48];
25 #else
26 extern struct SequenceChannelLayer D_802245D8[52];
27 #endif
28 
30 
31 extern struct AudioListItem gLayerFreeList;
32 extern struct NotePool gNoteFreeLists;
33 
34 extern OSMesgQueue gCurrAudioFrameDmaQueue;
36 extern ALSeqFile *gAlTbl;
37 extern u8 *gAlBankSets;
38 
39 void audio_dma_partial_copy_async(u32 *devAddr, u8 **vAddr, s32 *remaining, OSMesgQueue *queue, OSIoMesg *mesg);
40 void decrease_sample_dma_ttls(void);
41 void *dma_sample_data(u8 *arg0, u32 arg1, s32 arg2, u8 *arg3);
42 void func_8031758C(s32 arg0);
43 void func_8031784C(struct AudioBank *arg0, u8 *offset, u32 arg2, u32 arg3);
44 void preload_sequence(u32 seqId, u8 preloadMask);
45 void load_sequence(u32 player, u32 seqId, s32 loadAsync);
46 
47 #endif /* _AUDIO_LOAD_H */
Definition: internal.h:258
void preload_sequence(u32 seqId, u8 preloadMask)
Definition: load.c:583
struct SequencePlayer gSequencePlayers[SEQUENCE_PLAYERS]
Definition: load.c:22
void func_8031784C(struct AudioBank *arg0, u8 *offset, u32 arg2, u32 arg3)
Definition: load.c:299
Definition: internal.h:337
#define SEQUENCE_PLAYERS
Definition: internal.h:8
Definition: os_pi.h:58
void load_sequence(u32 player, u32 seqId, s32 loadAsync)
Definition: load.c:615
struct SequenceChannel gSequenceChannels[32]
Definition: load.c:23
ALSeqFile * gAlTbl
Definition: load.c:57
struct SequenceChannel gSequenceChannelNone
Definition: load.c:31
Definition: internal.h:71
struct SequenceChannelLayer D_802245D8[52]
Definition: load.c:28
Definition: internal.h:182
u32 gSampleDmaNumListItems
Definition: load.c:43
struct NotePool gNoteFreeLists
Definition: load.c:33
struct Note * gNotes
Definition: load.c:21
void decrease_sample_dma_ttls(void)
Definition: load.c:101
Definition: internal.h:303
void func_8031758C(s32 arg0)
Definition: internal.h:160
Definition: libaudio.h:12
struct AudioListItem gLayerFreeList
Definition: load.c:32
unsigned char u8
Definition: ultratypes.h:12
void * dma_sample_data(u8 *arg0, u32 arg1, s32 arg2, u8 *arg3)
Definition: load.c:131
void audio_dma_partial_copy_async(u32 *devAddr, u8 **vAddr, s32 *remaining, OSMesgQueue *queue, OSIoMesg *mesg)
Performs a partial asynchronous (normal priority) DMA copy.
Definition: load.c:91
u8 * gAlBankSets
Definition: load.c:58
signed int s32
Definition: ultratypes.h:15
unsigned int u32
Definition: ultratypes.h:16
OSMesgQueue gCurrAudioFrameDmaQueue
Definition: load.c:35
Definition: internal.h:53