summaryrefslogtreecommitdiff
path: root/include/nitro/SND_work_shared.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/nitro/SND_work_shared.h')
-rw-r--r--include/nitro/SND_work_shared.h46
1 files changed, 46 insertions, 0 deletions
diff --git a/include/nitro/SND_work_shared.h b/include/nitro/SND_work_shared.h
new file mode 100644
index 00000000..0de3981e
--- /dev/null
+++ b/include/nitro/SND_work_shared.h
@@ -0,0 +1,46 @@
+/*
+ * NOTE:
+ * This file is shared between ARM9 and ARM7
+ * DO NOT PUT PROC SPECIFIC CODE IN HERE
+ * Thank You!
+ */
+
+/*
+ * DO NOT INCLUDE THIS FILE DIRECTLY
+ * Include SND_work.h from the specific proc's lib
+ */
+
+#ifndef POKEDIAMOND_SND_WORK_SHARED_H
+#define POKEDIAMOND_SND_WORK_SHARED_H
+
+#include "nitro/SND_alarm_shared.h"
+#include "nitro/SND_main_shared.h"
+
+#define SND_PLAYER_COUNT 16
+#define SND_CHANNEL_COUNT 16
+#define SND_TRACK_COUNT 32
+
+struct SNDWork {
+ struct SNDExChannel channels[SND_CHANNEL_COUNT]; // 0x00
+ struct SNDPlayer players[SND_PLAYER_COUNT]; // 0x540
+ struct SNDTrack tracks[SND_TRACK_COUNT]; // 0x780
+ struct SNDAlarm alarms[SND_ALARM_COUNT]; // 0xF80
+}; // size = 0x1180
+
+struct SNDSharedWork {
+ u32 finishedCommandTag; // 0x0
+ u32 playerStatus; // 0x4
+ u16 channelStatus; // 0x8
+ u16 captureStatus; // 0xA
+ u8 unk_C[0x14]; // 0xC
+ struct {
+ s16 localVars[16]; // local 0x0
+ u32 tickCounter; // local 0x20
+ } players[SND_PLAYER_COUNT]; // 0x20
+ s16 globalVars[16]; // 0x260
+}; // size = 0x280
+
+extern struct SNDWork SNDi_Work;
+extern struct SNDSharedWork *SNDi_SharedWork;
+
+ #endif //POKEDIAMOND_SND_WORK_SHARED_H