summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/data_83760F0.s15
-rw-r--r--ld_script.txt1
-rw-r--r--src/sound.c31
3 files changed, 21 insertions, 26 deletions
diff --git a/data/data_83760F0.s b/data/data_83760F0.s
index 8eacb3472..631623864 100644
--- a/data/data_83760F0.s
+++ b/data/data_83760F0.s
@@ -4,21 +4,6 @@
.section .rodata
.align 2
-gFanfares:: @ 837DEF4
- .2byte BGM_FANFA1, 80
- .2byte BGM_FANFA4, 160
- .2byte BGM_FANFA5, 220
- .2byte BGM_ME_WAZA, 220
- .2byte BGM_ME_ASA, 160
- .2byte BGM_ME_BACHI, 340
- .2byte BGM_ME_WASURE, 180
- .2byte BGM_ME_KINOMI, 120
- .2byte BGM_ME_TAMA, 710
- .2byte BGM_ME_B_BIG, 250
- .2byte BGM_ME_B_SMALL, 150
- .2byte BGM_ME_ZANNEN, 160
-
- .align 2
gOamData_837DF24:: @ 837DF24
.2byte 0x0000
.2byte 0x0000
diff --git a/ld_script.txt b/ld_script.txt
index ba6eb52af..ea02b3356 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -322,6 +322,7 @@ SECTIONS {
src/menu.o(.rodata);
data/tileset_anim.o(.rodata);
src/palette.o(.rodata);
+ src/sound.o(.rodata);
data/data_83760F0.o(.rodata);
src/m4a_tables.o(.rodata);
data/sound_data.o(.rodata);
diff --git a/src/sound.c b/src/sound.c
index aa12ba477..c244c5cbe 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -32,8 +32,6 @@ extern struct MusicPlayerInfo gMPlay_SE1;
extern struct MusicPlayerInfo gMPlay_SE2;
extern struct MusicPlayerInfo gMPlay_SE3;
-extern struct Fanfare gFanfares[];
-
extern struct ToneData voicegroup_8452590[];
extern struct ToneData voicegroup_8452B90[];
extern struct ToneData voicegroup_8453190[];
@@ -44,6 +42,22 @@ extern struct ToneData voicegroup_8453DC0[];
extern struct ToneData voicegroup_84543C0[];
extern struct ToneData voicegroup_84549C0[];
+static const struct Fanfare sFanfares[] =
+{
+ { BGM_FANFA1, 80 },
+ { BGM_FANFA4, 160 },
+ { BGM_FANFA5, 220 },
+ { BGM_ME_WAZA, 220 },
+ { BGM_ME_ASA, 160 },
+ { BGM_ME_BACHI, 340 },
+ { BGM_ME_WASURE, 180 },
+ { BGM_ME_KINOMI, 120 },
+ { BGM_ME_TAMA, 710 },
+ { BGM_ME_B_BIG, 250 },
+ { BGM_ME_B_SMALL, 150 },
+ { BGM_ME_ZANNEN, 160 },
+};
+
static void Task_Fanfare(u8 taskId);
static void CreateFanfareTask(void);
static void PlayCryInternal(u16 species, s8 pan, s8 volume, u8 priority, u8 mode);
@@ -174,14 +188,10 @@ bool8 IsNotWaitingForBGMStop(void)
void PlayFanfareByFanfareNum(u8 fanfareNum)
{
- struct Fanfare *fanfares;
- struct Fanfare *fanfare;
u16 songNum;
m4aMPlayStop(&gMPlay_BGM);
- fanfares = gFanfares;
- fanfare = &fanfares[fanfareNum];
- songNum = fanfare->songNum;
- sFanfareCounter = fanfare->duration;
+ songNum = sFanfares[fanfareNum].songNum;
+ sFanfareCounter = sFanfares[fanfareNum].duration;
m4aSongNumStart(songNum);
}
@@ -205,7 +215,7 @@ bool8 WaitFanfare(bool8 stop)
void StopFanfareByFanfareNum(u8 fanfareNum)
{
- m4aSongNumStop(gFanfares[fanfareNum].songNum);
+ m4aSongNumStop(sFanfares[fanfareNum].songNum);
}
void PlayFanfare(u16 songNum)
@@ -213,8 +223,7 @@ void PlayFanfare(u16 songNum)
s32 i;
for (i = 0; (u32)i < 12; i++)
{
- struct Fanfare *fanfare = &gFanfares[i];
- if (fanfare->songNum == songNum)
+ if (sFanfares[i].songNum == songNum)
{
PlayFanfareByFanfareNum(i);
CreateFanfareTask();