From 3835a9b1a55a2d8ce6f4159bb0e7f1fecf08b7f1 Mon Sep 17 00:00:00 2001 From: PikalaxALT Date: Sun, 23 May 2021 17:20:38 -0400 Subject: NNS SND heap type --- arm9/lib/include/NNS_SND_arc.h | 38 +++++++++++++++++++++++++++++++++++ arm9/lib/include/NNS_SND_arc_loader.h | 12 +++++++++++ arm9/lib/include/NNS_SND_heap.h | 11 ++++++++++ 3 files changed, 61 insertions(+) create mode 100644 arm9/lib/include/NNS_SND_arc.h create mode 100644 arm9/lib/include/NNS_SND_arc_loader.h create mode 100644 arm9/lib/include/NNS_SND_heap.h (limited to 'arm9/lib/include') diff --git a/arm9/lib/include/NNS_SND_arc.h b/arm9/lib/include/NNS_SND_arc.h new file mode 100644 index 00000000..656c8728 --- /dev/null +++ b/arm9/lib/include/NNS_SND_arc.h @@ -0,0 +1,38 @@ +#ifndef GUARD_NNS_SND_ARC_H +#define GUARD_NNS_SND_ARC_H + +#include "SND_main.h" + +typedef struct NNSSndArcHeader +{ + struct SNDBinaryFileHeader fileHeader; + u32 symbolDataOffset; + u32 symbolDataSize; + u32 infoOffset; + u32 infoSize; + u32 fatOffset; + u32 fatSize; + u32 fileImageOffset; + u32 fileImageSize; +} NNSSndArcHeader; + +typedef struct NNSSndArc +{ + NNSSndArcHeader header; + BOOL file_open; + FSFile file; + FSFileID fileId; + struct NNSSndArcFat* fat; + struct NNSSndArcSymbol* symbol; + struct NNSSndArcInfo* info; +} NNSSndArc; + +void NNS_SndInit(void); +void NNS_SndArcInit(NNSSndArc *, const char *, void *, u32); +void NNS_SndArcPlayerSetup(void *); +void NNS_SndMain(void); +void NNS_SndHandleInit(u32 *); +void NNS_SndPlayerStopSeqByPlayerNo(int, int); +void NNS_SndHandleReleaseSeq(void); + +#endif //GUARD_NNS_SND_ARC_H diff --git a/arm9/lib/include/NNS_SND_arc_loader.h b/arm9/lib/include/NNS_SND_arc_loader.h new file mode 100644 index 00000000..851c08ab --- /dev/null +++ b/arm9/lib/include/NNS_SND_arc_loader.h @@ -0,0 +1,12 @@ +#ifndef GUARD_NNS_SND_ARC_LOADER_H +#define GUARD_NNS_SND_ARC_LOADER_H + +#include "NNS_SND_heap.h" + +BOOL NNS_SndArcLoadGroup(int groupNo, NNSSndHeapHandle * heap); +BOOL NNS_SndArcLoadSeq(int seqNo, NNSSndHeapHandle * heap); +BOOL NNS_SndArcLoadSeqEx(int seqNo, u32 loadFlag, NNSSndHeapHandle * heap); +BOOL NNS_SndArcLoadWaveArc(int waveArcNo, NNSSndHeapHandle * heap); +BOOL NNS_SndArcLoadBank(int bankNo, NNSSndHeapHandle * heap); + +#endif //GUARD_NNS_SND_ARC_LOADER_H diff --git a/arm9/lib/include/NNS_SND_heap.h b/arm9/lib/include/NNS_SND_heap.h new file mode 100644 index 00000000..9dc06a24 --- /dev/null +++ b/arm9/lib/include/NNS_SND_heap.h @@ -0,0 +1,11 @@ +#ifndef GUARD_NNS_SND_HEAP_H +#define GUARD_NNS_SND_HEAP_H + +struct NNSSndHeap; +typedef struct NNSSndHeap* NNSSndHeapHandle; + +NNSSndHeapHandle * NNS_SndHeapCreate(void *, u32); +int NNS_SndHeapSaveState(NNSSndHeapHandle *); +void NNS_SndHeapLoadState(NNSSndHeapHandle *, int); + +#endif //GUARD_NNS_SND_HEAP_H -- cgit v1.2.3