diff options
-rw-r--r-- | data/data_83760F0.s | 15 | ||||
-rw-r--r-- | ld_script.txt | 1 | ||||
-rw-r--r-- | src/sound.c | 31 |
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(); |