summaryrefslogtreecommitdiff
path: root/arm9/lib
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2021-05-23 17:20:38 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2021-05-23 17:20:38 -0400
commit3835a9b1a55a2d8ce6f4159bb0e7f1fecf08b7f1 (patch)
tree83c575dd80d4df0167daa536100113ea5ee0a0f1 /arm9/lib
parent76c52b48ebc318c72906fb6d8d7876c0915f5e17 (diff)
NNS SND heap type
Diffstat (limited to 'arm9/lib')
-rw-r--r--arm9/lib/include/NNS_SND_arc.h38
-rw-r--r--arm9/lib/include/NNS_SND_arc_loader.h12
-rw-r--r--arm9/lib/include/NNS_SND_heap.h11
3 files changed, 61 insertions, 0 deletions
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