summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/link.c13
-rw-r--r--src/m4a_2.c14
-rw-r--r--src/m4a_4.c24
-rw-r--r--src/main.c7
-rw-r--r--src/main_menu.c43
-rw-r--r--src/menu.c23
-rw-r--r--src/scrcmd.c36
-rw-r--r--src/sound.c494
-rw-r--r--src/text.c15
9 files changed, 321 insertions, 348 deletions
diff --git a/src/link.c b/src/link.c
index f6b683b74..0b4852c8d 100644
--- a/src/link.c
+++ b/src/link.c
@@ -7,6 +7,8 @@
#include "link.h"
#include "palette.h"
#include "rng.h"
+#include "menu.h"
+#include "sound.h"
#define SIO_MULTI_CNT ((struct SioMultiCnt *)REG_ADDR_SIOCNT)
@@ -27,7 +29,6 @@ struct LinkTestBGInfo
u32 dummy_C;
};
-extern void InitMenuWindow(const struct WindowConfig *);
extern void sub_80516C4(u8, u16);
extern u8 unk_2000000[];
@@ -230,7 +231,7 @@ static void LinkTestScreen(void)
ResetTasks();
SetVBlankCallback(VBlankCB_LinkTest);
SetUpWindowConfig(&gWindowConfig_81E6CE4);
- InitMenuWindow(&gWindowConfig_81E6CE4);
+ InitMenuWindow((struct WindowConfig *)&gWindowConfig_81E6CE4);
ResetBlockSend();
gLinkType = 0x1111;
OpenLink();
@@ -1217,7 +1218,7 @@ void CB2_LinkError(void)
ResetTasks();
SetVBlankCallback(VBlankCB_LinkTest);
SetUpWindowConfig(&gWindowConfig_81E7198);
- InitMenuWindow(&gWindowConfig_81E7198);
+ InitMenuWindow((struct WindowConfig *)&gWindowConfig_81E7198);
MenuZeroFillScreen();
REG_BLDALPHA = 0;
REG_BG0VOFS = 0;
@@ -1225,7 +1226,7 @@ void CB2_LinkError(void)
REG_DISPCNT = 320;
gUnknown_3001BB4 = 0;
CreateTask(Task_DestroySelf, 0);
- sub_8074D08();
+ StopMapMusic();
RunTasks();
AnimateSprites();
BuildOamBuffer();
@@ -1244,10 +1245,10 @@ static void CB2_PrintErrorMessage(void)
break;
case 30:
case 60:
- audio_play(SE_BOO);
+ PlaySE(SE_BOO);
break;
case 90:
- audio_play(SE_BOO);
+ PlaySE(SE_BOO);
break;
}
diff --git a/src/m4a_2.c b/src/m4a_2.c
index cb4b39e0f..b046b3172 100644
--- a/src/m4a_2.c
+++ b/src/m4a_2.c
@@ -196,19 +196,19 @@ void m4aMPlayFadeOut(struct MusicPlayerInfo *mplayInfo, u16 speed)
MPlayFadeOut(mplayInfo, speed);
}
-void sub_81DE0D0(struct MusicPlayerInfo *mplayInfo, u16 speed)
+void m4aMPlayFadeOutTemporarily(struct MusicPlayerInfo *mplayInfo, u16 speed)
{
if (mplayInfo->ident == ID_NUMBER)
{
mplayInfo->ident++;
mplayInfo->fadeOC = speed;
mplayInfo->fadeOI = speed;
- mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT) | STOP_AFTER_FADE;
+ mplayInfo->fadeOV = (64 << FADE_VOL_SHIFT) | TEMPORARY_FADE;
mplayInfo->ident = ID_NUMBER;
}
}
-void sub_81DE0F0(struct MusicPlayerInfo *mplayInfo, u16 speed)
+void m4aMPlayFadeIn(struct MusicPlayerInfo *mplayInfo, u16 speed)
{
if (mplayInfo->ident == ID_NUMBER)
{
@@ -701,22 +701,22 @@ void FadeOutBody(struct MusicPlayerInfo *mplayInfo)
while (i > 0)
{
register u32 fadeOV asm("r7");
- register u32 val asm("r0");
+ u32 val;
TrackStop(mplayInfo, track);
- val = STOP_AFTER_FADE;
+ val = TEMPORARY_FADE;
fadeOV = mplayInfo->fadeOV;
val &= fadeOV;
if (!val)
- track->flags = val;
+ track->flags = 0;
i--;
track++;
}
- if (mplayInfo->fadeOV & STOP_AFTER_FADE)
+ if (mplayInfo->fadeOV & TEMPORARY_FADE)
mplayInfo->status |= MUSICPLAYER_STATUS_PAUSE;
else
mplayInfo->status = MUSICPLAYER_STATUS_PAUSE;
diff --git a/src/m4a_4.c b/src/m4a_4.c
index 9c7655187..1a3ce4024 100644
--- a/src/m4a_4.c
+++ b/src/m4a_4.c
@@ -415,7 +415,7 @@ void DummyFunc(void)
{
}
-struct MusicPlayerInfo *sub_81DF43C(u32 tone)
+struct MusicPlayerInfo *SetPokemonCryTone(struct ToneData *tone)
{
u32 maxClock = 0;
s32 maxClockIndex = 0;
@@ -447,7 +447,7 @@ start_song:
memcpy((void *)CRY, &gPokemonCrySong, sizeof(struct PokemonCrySong));
- *(u32 *)(CRY + CRY_OFS(tone)) = tone;
+ *(u32 *)(CRY + CRY_OFS(tone)) = (u32)tone;
*(u32 *)(CRY + CRY_OFS(part)) = CRY + CRY_OFS(part0);
*(u32 *)(CRY + CRY_OFS(part) + 4) = CRY + CRY_OFS(part1);
*(u32 *)(CRY + CRY_OFS(gotoTarget)) = CRY + CRY_OFS(cont);
@@ -462,17 +462,17 @@ start_song:
return mplayInfo;
}
-void sub_81DF50C(u8 val)
+void SetPokemonCryVolume(u8 val)
{
gPokemonCrySong.volumeValue = val & 0x7F;
}
-void sub_81DF520(s8 val)
+void SetPokemonCryPanpot(s8 val)
{
gPokemonCrySong.panValue = (val + C_V) & 0x7F;
}
-void sub_81DF538(s16 val)
+void SetPokemonCryPitch(s16 val)
{
s16 b = val + 0x80;
u8 a = gPokemonCrySong.tuneValue2 - gPokemonCrySong.tuneValue;
@@ -481,22 +481,22 @@ void sub_81DF538(s16 val)
gPokemonCrySong.tuneValue2 = (a + ((b >> 1) & 0x7F)) & 0x7F;
}
-void sub_81DF570(u16 val)
+void SetPokemonCryLength(u16 val)
{
gPokemonCrySong.unkCmd0CParam = val;
}
-void sub_81DF57C(u8 val)
+void SetPokemonCryRelease(u8 val)
{
gPokemonCrySong.releaseValue = val;
}
-void sub_81DF588(u32 val)
+void SetPokemonCryProgress(u32 val)
{
gPokemonCrySong.unkCmd0DParam = val;
}
-int sub_81DF594(struct MusicPlayerInfo *mplayInfo)
+int IsPokemonCryPlaying(struct MusicPlayerInfo *mplayInfo)
{
struct MusicPlayerTrack *track = mplayInfo->tracks;
@@ -506,7 +506,7 @@ int sub_81DF594(struct MusicPlayerInfo *mplayInfo)
return 0;
}
-void sub_81DF5AC(s8 val)
+void SetPokemonCryChorus(s8 val)
{
if (val)
{
@@ -519,7 +519,7 @@ void sub_81DF5AC(s8 val)
}
}
-void sub_81DF5D8(u32 val)
+void SetPokemonCryStereo(u32 val)
{
struct SoundInfo *soundInfo = SOUND_INFO_PTR;
@@ -539,7 +539,7 @@ void sub_81DF5D8(u32 val)
}
}
-void sub_81DF618(u8 val)
+void SetPokemonCryPriority(u8 val)
{
gPokemonCrySong.priority = val;
}
diff --git a/src/main.c b/src/main.c
index 2a1cbc1b7..012f5536d 100644
--- a/src/main.c
+++ b/src/main.c
@@ -6,6 +6,7 @@
#include "rtc.h"
#include "link.h"
#include "rng.h"
+#include "sound.h"
extern struct SoundInfo gSoundInfo;
extern u32 gUnknown_3004820;
@@ -68,9 +69,7 @@ extern void c2_copyright_1();
extern u32 sub_80558AC(void);
extern u32 sub_8055910(void);
extern u32 sub_8055940(void);
-extern void sound_something(void);
extern void CheckForFlashMemory(void);
-extern void sound_sources_off(void);
void UpdateLinkAndCallCallbacks(void);
void InitMainCallbacks(void);
@@ -99,7 +98,7 @@ void AgbMain()
RtcInit();
CheckForFlashMemory();
InitMainCallbacks();
- sound_sources_off();
+ InitMapMusic();
SeedRngWithRtc();
gUnknown_3001BB4 = 0;
@@ -142,7 +141,7 @@ void AgbMain()
}
PlayTimeCounter_Update();
- sound_something();
+ MapMusicMain();
WaitForVBlank();
}
}
diff --git a/src/main_menu.c b/src/main_menu.c
index 55e3baa00..099a3634a 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -10,6 +10,7 @@
#include "species.h"
#include "pokemon.h"
#include "menu.h"
+#include "sound.h"
#define BirchSpeechUpdateWindowText() ((u8)MenuUpdateWindowText_OverrideLineLength(24))
@@ -20,18 +21,9 @@ extern void CB2_InitTitleScreen(void);
extern void FormatPlayTime(u8 *str, u16 hours, u16 minutes, bool16 colon);
extern u16 GetPokedexSeenCount(void);
extern u8 GetBadgeCount(void);
-extern void Task_Birch1(u8);
-u8 sub_8075374(void);
-void cry_related(u16, u8);
-void audio_play(u8 a);
-u8 GetMenuCursorPos(void);
void DoNamingScreen(u8 r0, struct SaveBlock2 *r1, u16 r2, u16 r3, u8 s0, MainCallback s4);
-void DisplayYesNoMenu(u8 r0, u8 r1, u32 r2);
-s8 ProcessMenuInputNoWrap_(void);
void CB2_NewGame(void);
void LZ77UnCompVram(const void *src, void *dest);
-void CB2_MainMenu(void);
-void VBlankCB_MainMenu(void);
void DecompressPicFromTable_2(const struct SpriteSheet *, u8, u8, void *, void *, u32);
void LoadCompressedObjectPalette(const struct SpritePalette *);
u8 AddNewGameBirchObject(u8, u8, u8);
@@ -74,6 +66,7 @@ static void PrintPlayerName(void);
static void PrintPlayTime(void);
static void PrintPokedexCount(void);
static void PrintBadgeCount(void);
+void Task_Birch1(u8);
extern u16 gMainMenuPalette[];
@@ -349,13 +342,13 @@ bool8 MainMenuProcessKeyInput(u8 taskId)
{
if (gMain.newKeys & A_BUTTON)
{
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0x0000);
gTasks[taskId].func = MainMenuPressedA;
}
else if (gMain.newKeys & B_BUTTON)
{
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0xFFFF);
REG_WIN0H = WIN_RANGE(0, 240);
REG_WIN0V = WIN_RANGE(0, 160);
@@ -738,7 +731,7 @@ void Task_Birch1(u8 taskId)
gTasks[taskId].data[3] = 0xFF;
gTasks[taskId].data[7] = 216;
- sub_8075474(BGM_DOORO_X4);
+ PlayBGM(BGM_DOORO_X4);
}
void task_new_game_prof_birch_speech_2(u8 taskId)
@@ -750,7 +743,7 @@ void task_new_game_prof_birch_speech_2(u8 taskId)
else
{
u8 spriteId = gTasks[taskId].data[8];
-
+
gSprites[spriteId].pos1.x = 136;
gSprites[spriteId].pos1.y = 60;
gSprites[spriteId].invisible = 0;
@@ -798,7 +791,7 @@ void task_new_game_prof_birch_speech_5(u8 taskId)
void task_new_game_prof_birch_speech_6(u8 taskId)
{
u8 spriteId = gTasks[taskId].data[9];
-
+
gSprites[spriteId].pos1.x = 104;
gSprites[spriteId].pos1.y = 72;
gSprites[spriteId].invisible = 0;
@@ -810,7 +803,7 @@ void task_new_game_prof_birch_speech_6(u8 taskId)
void task_new_game_prof_birch_speech_7(u8 taskId)
{
- if (sub_8075374())
+ if (IsCryFinished())
{
if (gTasks[taskId].data[7] > 95)
{
@@ -818,13 +811,13 @@ void task_new_game_prof_birch_speech_7(u8 taskId)
gTasks[taskId].func = task_new_game_prof_birch_speech_8;
}
}
-
+
if (gTasks[taskId].data[7] < 16384)
{
gTasks[taskId].data[7]++;
if (gTasks[taskId].data[7] == 32)
{
- cry_related(SPECIES_AZURILL, 0);
+ PlayCry1(SPECIES_AZURILL, 0);
}
}
}
@@ -936,14 +929,14 @@ void task_new_game_prof_birch_speech_16(u8 taskId)
{
case MALE:
sub_8072DEC();
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
gSaveBlock2.playerGender = MALE;
MenuZeroFillWindowRect(2, 4, 8, 9);
gTasks[taskId].func = sub_800A974;
break;
case FEMALE:
sub_8072DEC();
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
gSaveBlock2.playerGender = FEMALE;
MenuZeroFillWindowRect(2, 4, 8, 9);
gTasks[taskId].func = sub_800A974;
@@ -1037,19 +1030,19 @@ void sub_800A9EC(u8 taskId)
case 3:
case 4:
sub_8072DEC();
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
MenuZeroFillWindowRect(2, 1, 22, 12);
set_default_player_name(n);
gTasks[taskId].func = task_new_game_prof_birch_speech_part2_1;
break;
case 0:
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
BeginNormalPaletteFade(-1, 0, 0, 16, 0);
gTasks[taskId].func = sub_800AAAC;
break;
case -1:
sub_8072DEC();
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
MenuZeroFillWindowRect(2, 1, 22, 12);
gTasks[taskId].func = task_new_game_prof_birch_speech_14;
break;
@@ -1087,7 +1080,7 @@ void task_new_game_prof_birch_speech_part2_4(u8 taskId)
switch (ProcessMenuInputNoWrap_())
{
case 0:
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
MenuZeroFillWindowRect(2, 1, 8, 7);
gSprites[gTasks[taskId].data[2]].oam.objMode = ST_OAM_OBJ_BLEND;
sub_800B458(taskId, 2);
@@ -1096,7 +1089,7 @@ void task_new_game_prof_birch_speech_part2_4(u8 taskId)
break;
case -1:
case 1:
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
MenuZeroFillWindowRect(2, 1, 8, 7);
gTasks[taskId].func = task_new_game_prof_birch_speech_14;
break;
@@ -1237,7 +1230,7 @@ void task_new_game_prof_birch_speech_part2_9(u8 taskId)
StartSpriteAffineAnim(&gSprites[spriteId], 0);
gSprites[spriteId].callback = sub_800B240;
BeginNormalPaletteFade(0x0000FFFF, 0, 0, 0x10, 0);
- play_sound_effect(4);
+ FadeOutBGM(4);
gTasks[taskId].func = task_new_game_prof_birch_speech_part2_10;
}
}
diff --git a/src/menu.c b/src/menu.c
index ab7aae955..ae9213785 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -4,6 +4,7 @@
#include "text.h"
#include "songs.h"
#include "text_window.h"
+#include "sound.h"
struct Menu
{
@@ -250,7 +251,7 @@ s8 ProcessMenuInput(void)
{
if (gMain.newKeys & A_BUTTON)
{
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
if (gMenu.menu_field_7)
sub_8072DEC();
return gMenu.cursorPos;
@@ -265,13 +266,13 @@ s8 ProcessMenuInput(void)
if (gMain.newKeys & DPAD_UP)
{
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
MoveMenuCursor(-1);
return -2;
}
else if (gMain.newKeys & DPAD_DOWN)
{
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
MoveMenuCursor(1);
return -2;
}
@@ -285,7 +286,7 @@ s8 ProcessMenuInputNoWrap(void)
if (gMain.newKeys & A_BUTTON)
{
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
if (gMenu.menu_field_7)
sub_8072DEC();
return gMenu.cursorPos;
@@ -301,13 +302,13 @@ s8 ProcessMenuInputNoWrap(void)
if (gMain.newKeys & DPAD_UP)
{
if (cursorPos != MoveMenuCursorNoWrap(-1))
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
return -2;
}
else if (gMain.newKeys & DPAD_DOWN)
{
if (cursorPos != MoveMenuCursorNoWrap(1))
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
return -2;
}
@@ -500,7 +501,7 @@ s8 sub_80727CC(void)
{
if (gMenu.menu_field_7)
sub_8072DEC();
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
return GetMenuCursorPos();
}
@@ -513,25 +514,25 @@ s8 sub_80727CC(void)
if (gMain.newKeys & DPAD_UP)
{
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
MoveMenuCursor4(-gMenu.width);
return -2;
}
else if (gMain.newKeys & DPAD_DOWN)
{
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
MoveMenuCursor4(gMenu.width);
return -2;
}
else if (gMain.newKeys & DPAD_LEFT)
{
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
MoveMenuCursor4(-1);
return -2;
}
else if (gMain.newKeys & DPAD_RIGHT)
{
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
MoveMenuCursor4(1);
return -2;
}
diff --git a/src/scrcmd.c b/src/scrcmd.c
index f9b64926c..53262d183 100644
--- a/src/scrcmd.c
+++ b/src/scrcmd.c
@@ -8,6 +8,7 @@
#include "main.h"
#include "decoration.h"
#include "field_message_box.h"
+#include "sound.h"
extern void ClearRamScript(void);
extern u16 *GetVarPointer(u16);
@@ -50,16 +51,9 @@ extern void saved_warp2_set_2(s8, s8, s8, s8, s8, s8);
extern void sub_8053690(s8, s8, s8, s8, s8);
extern void sub_80536E4(s8, s8, s8, s8, s8);
extern void sub_805363C(s8, s8, s8, s8, s8);
-extern void audio_play(u16);
-extern bool8 task_is_not_running_overworld_fanfare(void);
-extern bool8 mplay_has_finished_maybe(void);
-extern void fanfare_play(u16);
extern void sav1_set_battle_music_maybe(u16);
extern void sub_8053F84(void);
extern void sub_8053FB0(u16);
-extern void sub_8074FB8(u8);
-extern bool8 sub_8074FD0(void);
-extern void sub_8074FF8(u8);
extern u8 exec_movement(u8, u8, u8, void *);
extern bool8 sub_80A212C(u8, u8, u8);
extern void RemoveFieldObjectByLocalIdAndMap(u8, u8, u8);
@@ -128,8 +122,6 @@ extern void sub_80C4980(u8);
extern u32 FieldEffectStart(u8);
extern bool8 FieldEffectActiveListContains(u8);
extern void sub_8053588(u8);
-extern void sub_8075178(u16, u8);
-extern bool8 sub_8075374(void);
extern void MapGridSetMetatileIdAt(u32, u32, u16);
extern u16 sub_8058790(u32, u32);
extern bool8 task_overworld_door_add_if_role_69_for_opening_door_at(u32, u32);
@@ -904,13 +896,13 @@ bool8 ScrCmd_countpokemon(struct ScriptContext *ctx)
bool8 ScrCmd_playsfx(struct ScriptContext *ctx)
{
- audio_play(ScriptReadHalfword(ctx));
+ PlaySE(ScriptReadHalfword(ctx));
return FALSE;
}
bool8 s30_music_check_asm()
{
- if (!mplay_has_finished_maybe())
+ if (!IsSEPlaying())
return TRUE;
else
return FALSE;
@@ -924,13 +916,13 @@ bool8 ScrCmd_checksound(struct ScriptContext *ctx)
bool8 ScrCmd_fanfare(struct ScriptContext *ctx)
{
- fanfare_play(ScriptReadHalfword(ctx));
+ PlayFanfare(ScriptReadHalfword(ctx));
return FALSE;
}
bool8 s32_fanfare_wait_asm()
{
- return task_is_not_running_overworld_fanfare();
+ return IsFanfareTaskInactive();
}
bool8 ScrCmd_waitfanfare(struct ScriptContext *ctx)
@@ -945,7 +937,7 @@ bool8 ScrCmd_playmusic(struct ScriptContext *ctx)
bool8 val = *(ctx->scriptPtr++);
if (val == TRUE)
sav1_set_battle_music_maybe(songId);
- current_map_music_set(songId);
+ PlayNewMapMusic(songId);
return FALSE;
}
@@ -971,10 +963,10 @@ bool8 ScrCmd_fadeout(struct ScriptContext *ctx)
{
u8 val = *(ctx->scriptPtr++);
if (val)
- sub_8074FB8(4 * val);
+ FadeOutBGMTemporarily(4 * val);
else
- sub_8074FB8(4);
- SetupNativeScript(ctx, sub_8074FD0);
+ FadeOutBGMTemporarily(4);
+ SetupNativeScript(ctx, IsBGMPausedOrStopped);
return TRUE;
}
@@ -982,9 +974,9 @@ bool8 ScrCmd_fadein(struct ScriptContext *ctx)
{
u8 val = *(ctx->scriptPtr++);
if (val)
- sub_8074FF8(4 * val);
+ FadeInBGM(4 * val);
else
- sub_8074FF8(4);
+ FadeInBGM(4);
return FALSE;
}
@@ -1855,13 +1847,13 @@ bool8 ScrCmd_pokecry(struct ScriptContext *ctx)
{
u16 v3 = VarGet(ScriptReadHalfword(ctx));
u16 v5 = VarGet(ScriptReadHalfword(ctx));
- sub_8075178(v3, v5);
+ PlayCry5(v3, v5);
return FALSE;
}
bool8 ScrCmd_waitpokecry(struct ScriptContext *ctx)
{
- SetupNativeScript(ctx, sub_8075374);
+ SetupNativeScript(ctx, IsCryFinished);
return TRUE;
}
@@ -1888,7 +1880,7 @@ bool8 ScrCmd_setdooropened(struct ScriptContext *ctx)
v3 += 7;
v4 += 7;
v7 = sub_8058790(v3, v4);
- audio_play(v7);
+ PlaySE(v7);
task_overworld_door_add_if_role_69_for_opening_door_at(v3, v4);
return FALSE;
}
diff --git a/src/sound.c b/src/sound.c
index 141902b1f..2a861839c 100644
--- a/src/sound.c
+++ b/src/sound.c
@@ -1,6 +1,8 @@
#include "global.h"
#include "gba/m4a_internal.h"
#include "task.h"
+#include "sound.h"
+#include "songs.h"
struct Fanfare
{
@@ -10,27 +12,23 @@ struct Fanfare
extern u32 speciesid_conv(u32);
-void sound_sources_off(void);
-
-void map_music_set_to_zero(void);
-
extern u16 gUnknown_020239F8;
-extern struct MusicPlayerInfo *gUnknown_0202F79C;
-extern u8 gUnknown_0202F7A0;
+extern struct MusicPlayerInfo *gMPlay_PokemonCry;
+extern u8 gPokemonCryBGMDuckingCounter;
-extern u16 gUnknown_030006D4;
-extern u16 gUnknown_030006D6;
-extern u8 gUnknown_030006D8;
-extern u8 gUnknown_030006D9;
-extern u16 gUnknown_030006DA;
+static u16 sCurrentMapMusic;
+static u16 sNextMapMusic;
+static u8 sMapMusicState;
+static u8 sMapMusicFadeInSpeed;
+static u16 sFanfareCounter;
-extern u8 gUnknown_03004AEC;
-extern struct MusicPlayerInfo gUnknown_03007380;
-extern struct MusicPlayerInfo gUnknown_030073C0;
-extern struct MusicPlayerInfo gUnknown_03007400;
-extern struct MusicPlayerInfo gUnknown_03007450;
+extern bool8 gDisableMusic;
+extern struct MusicPlayerInfo gMPlay_BGM;
+extern struct MusicPlayerInfo gMPlay_SE1;
+extern struct MusicPlayerInfo gMPlay_SE2;
+extern struct MusicPlayerInfo gMPlay_SE3;
-extern struct Fanfare gUnknown_0837DEF4[];
+extern struct Fanfare gFanfares[];
extern struct ToneData voicegroup_8452590[];
extern struct ToneData voicegroup_8452B90[];
@@ -42,333 +40,325 @@ extern struct ToneData voicegroup_8453DC0[];
extern struct ToneData voicegroup_84543C0[];
extern struct ToneData voicegroup_84549C0[];
-u8 sub_8075028(void);
-u8 task_is_not_running_overworld_fanfare(void);
-u8 sub_8074E14(void);
-void sub_8074F6C(u16, u8);
-void task50_overworld_fanfare(u8);
-void task_add_50_overworld_fanfare_if_not_running(void);
-void play_sound_effect(u8);
-void sub_80751C0(u16 species, s8 a2, s8 a3, u8 a4, u8 a5);
-void sub_8075408(u8);
-void sub_8075450(void);
-void sub_8075474(u16);
+static void Task_Fanfare(u8 taskId);
+static void CreateFanfareTask(void);
+static void PlayCryInternal(u16 species, s8 pan, s8 volume, u8 priority, u8 mode);
+static void Task_DuckBGMForPokemonCry(u8 taskId);
+static void RestoreBGMVolumeAfterPokemonCry(void);
-void sound_sources_off(void)
+void InitMapMusic(void)
{
- gUnknown_03004AEC = 0;
- map_music_set_to_zero();
+ gDisableMusic = FALSE;
+ ResetMapMusic();
}
-void sound_something(void)
+void MapMusicMain(void)
{
- switch (gUnknown_030006D8)
+ switch (sMapMusicState)
{
case 0:
break;
case 1:
- gUnknown_030006D8 = 2;
- sub_8075474(gUnknown_030006D4);
+ sMapMusicState = 2;
+ PlayBGM(sCurrentMapMusic);
break;
case 2:
case 3:
case 4:
break;
case 5:
- if (sub_8075028())
+ if (IsBGMStopped())
{
- gUnknown_030006D6 = 0;
- gUnknown_030006D8 = 0;
+ sNextMapMusic = 0;
+ sMapMusicState = 0;
}
break;
case 6:
- if (sub_8075028() && task_is_not_running_overworld_fanfare())
+ if (IsBGMStopped() && IsFanfareTaskInactive())
{
- gUnknown_030006D4 = gUnknown_030006D6;
- gUnknown_030006D6 = 0;
- gUnknown_030006D8 = 2;
- sub_8075474(gUnknown_030006D4);
+ sCurrentMapMusic = sNextMapMusic;
+ sNextMapMusic = 0;
+ sMapMusicState = 2;
+ PlayBGM(sCurrentMapMusic);
}
break;
case 7:
- if (sub_8075028() && task_is_not_running_overworld_fanfare())
+ if (IsBGMStopped() && IsFanfareTaskInactive())
{
- sub_8074F6C(gUnknown_030006D6, gUnknown_030006D9);
- gUnknown_030006D4 = gUnknown_030006D6;
- gUnknown_030006D6 = 0;
- gUnknown_030006D8 = 2;
- gUnknown_030006D9 = 0;
+ FadeInNewBGM(sNextMapMusic, sMapMusicFadeInSpeed);
+ sCurrentMapMusic = sNextMapMusic;
+ sNextMapMusic = 0;
+ sMapMusicState = 2;
+ sMapMusicFadeInSpeed = 0;
}
break;
}
}
-void map_music_set_to_zero(void)
+void ResetMapMusic(void)
{
- gUnknown_030006D4 = 0;
- gUnknown_030006D6 = 0;
- gUnknown_030006D8 = 0;
- gUnknown_030006D9 = 0;
+ sCurrentMapMusic = 0;
+ sNextMapMusic = 0;
+ sMapMusicState = 0;
+ sMapMusicFadeInSpeed = 0;
}
-u16 current_map_music_get(void)
+u16 GetCurrentMapMusic(void)
{
- return gUnknown_030006D4;
+ return sCurrentMapMusic;
}
-void current_map_music_set(u16 a1)
+void PlayNewMapMusic(u16 songNum)
{
- gUnknown_030006D4 = a1;
- gUnknown_030006D6 = 0;
- gUnknown_030006D8 = 1;
+ sCurrentMapMusic = songNum;
+ sNextMapMusic = 0;
+ sMapMusicState = 1;
}
-void sub_8074D08(void)
+void StopMapMusic(void)
{
- gUnknown_030006D4 = 0;
- gUnknown_030006D6 = 0;
- gUnknown_030006D8 = 1;
+ sCurrentMapMusic = 0;
+ sNextMapMusic = 0;
+ sMapMusicState = 1;
}
-void sub_8074D28(u8 a1)
+void FadeOutMapMusic(u8 speed)
{
- if (sub_8074E14())
- play_sound_effect(a1);
- gUnknown_030006D4 = 0;
- gUnknown_030006D6 = 0;
- gUnknown_030006D8 = 5;
+ if (IsNotWaitingForBGMStop())
+ FadeOutBGM(speed);
+ sCurrentMapMusic = 0;
+ sNextMapMusic = 0;
+ sMapMusicState = 5;
}
-void sub_8074D60(u16 a1, u8 a2)
+void FadeOutAndPlayNewMapMusic(u16 songNum, u8 speed)
{
- sub_8074D28(a2);
- gUnknown_030006D4 = 0;
- gUnknown_030006D6 = a1;
- gUnknown_030006D8 = 6;
+ FadeOutMapMusic(speed);
+ sCurrentMapMusic = 0;
+ sNextMapMusic = songNum;
+ sMapMusicState = 6;
}
-void sub_8074D94(u16 a1, u8 a2, u8 a3)
+void FadeOutAndFadeInNewMapMusic(u16 songNum, u8 fadeOutSpeed, u8 fadeInSpeed)
{
- sub_8074D28(a2);
- gUnknown_030006D4 = 0;
- gUnknown_030006D6 = a1;
- gUnknown_030006D8 = 7;
- gUnknown_030006D9 = a3;
+ FadeOutMapMusic(fadeOutSpeed);
+ sCurrentMapMusic = 0;
+ sNextMapMusic = songNum;
+ sMapMusicState = 7;
+ sMapMusicFadeInSpeed = fadeInSpeed;
}
-void unref_sub_8074DD8(u16 a1, u8 a2)
+void FadeInNewMapMusic(u16 songNum, u8 speed)
{
- sub_8074F6C(a1, a2);
- gUnknown_030006D4 = a1;
- gUnknown_030006D6 = 0;
- gUnknown_030006D8 = 2;
- gUnknown_030006D9 = 0;
+ FadeInNewBGM(songNum, speed);
+ sCurrentMapMusic = songNum;
+ sNextMapMusic = 0;
+ sMapMusicState = 2;
+ sMapMusicFadeInSpeed = 0;
}
-bool8 sub_8074E14(void)
+bool8 IsNotWaitingForBGMStop(void)
{
- if (gUnknown_030006D8 == 6)
+ if (sMapMusicState == 6)
return FALSE;
- if (gUnknown_030006D8 == 5)
+ if (sMapMusicState == 5)
return FALSE;
- if (gUnknown_030006D8 == 7)
+ if (sMapMusicState == 7)
return FALSE;
return TRUE;
}
-void pause_music_for_sound_maybe(u8 a1)
+void PlayFanfareByFanfareNum(u8 fanfareNum)
{
struct Fanfare *fanfares;
struct Fanfare *fanfare;
u16 songNum;
- m4aMPlayStop(&gUnknown_03007380);
- fanfares = gUnknown_0837DEF4;
- fanfare = &fanfares[a1];
+ m4aMPlayStop(&gMPlay_BGM);
+ fanfares = gFanfares;
+ fanfare = &fanfares[fanfareNum];
songNum = fanfare->songNum;
- gUnknown_030006DA = fanfare->duration;
+ sFanfareCounter = fanfare->duration;
m4aSongNumStart(songNum);
}
-bool8 ducking_tick(u8 a1)
+bool8 WaitFanfare(bool8 stop)
{
- if (gUnknown_030006DA)
+ if (sFanfareCounter)
{
- gUnknown_030006DA--;
+ sFanfareCounter--;
return FALSE;
}
else
{
- if (!a1)
- m4aMPlayContinue(&gUnknown_03007380);
+ if (!stop)
+ m4aMPlayContinue(&gMPlay_BGM);
else
- m4aSongNumStart(0);
-
+ m4aSongNumStart(SE_STOP);
+
return TRUE;
}
}
-void unref_sub_8074EA4(u8 a1)
+void StopFanfareByFanfareNum(u8 fanfareNum)
{
- m4aSongNumStop(gUnknown_0837DEF4[a1].songNum);
+ m4aSongNumStop(gFanfares[fanfareNum].songNum);
}
-void fanfare_play(u16 a1)
+void PlayFanfare(u16 songNum)
{
s32 i;
for (i = 0; (u32)i < 12; i++)
{
- struct Fanfare *fanfare = &gUnknown_0837DEF4[i];
- if (fanfare->songNum == a1)
+ struct Fanfare *fanfare = &gFanfares[i];
+ if (fanfare->songNum == songNum)
{
- pause_music_for_sound_maybe(i);
- task_add_50_overworld_fanfare_if_not_running();
+ PlayFanfareByFanfareNum(i);
+ CreateFanfareTask();
return;
}
}
- pause_music_for_sound_maybe(0);
- task_add_50_overworld_fanfare_if_not_running();
+ PlayFanfareByFanfareNum(0);
+ CreateFanfareTask();
}
-bool8 task_is_not_running_overworld_fanfare(void)
+bool8 IsFanfareTaskInactive(void)
{
- if (FuncIsActiveTask(task50_overworld_fanfare) == TRUE)
+ if (FuncIsActiveTask(Task_Fanfare) == TRUE)
return FALSE;
return TRUE;
}
-void task50_overworld_fanfare(u8 taskId)
+static void Task_Fanfare(u8 taskId)
{
- if (gUnknown_030006DA)
+ if (sFanfareCounter)
{
- gUnknown_030006DA--;
+ sFanfareCounter--;
}
else
{
- m4aMPlayContinue(&gUnknown_03007380);
+ m4aMPlayContinue(&gMPlay_BGM);
DestroyTask(taskId);
}
}
-void task_add_50_overworld_fanfare_if_not_running(void)
+static void CreateFanfareTask(void)
{
- if (FuncIsActiveTask(task50_overworld_fanfare) != TRUE)
- CreateTask(task50_overworld_fanfare, 80);
+ if (FuncIsActiveTask(Task_Fanfare) != TRUE)
+ CreateTask(Task_Fanfare, 80);
}
-void sub_8074F6C(u16 a1, u8 a2)
+void FadeInNewBGM(u16 songNum, u8 speed)
{
- if (gUnknown_03004AEC)
- a1 = 0;
- m4aSongNumStart(a1);
- m4aMPlayImmInit(&gUnknown_03007380);
- m4aMPlayVolumeControl(&gUnknown_03007380, 0xFFFF, 0);
- m4aSongNumStop(a1);
- sub_81DE0F0(&gUnknown_03007380, a2);
+ if (gDisableMusic)
+ songNum = 0;
+ m4aSongNumStart(songNum);
+ m4aMPlayImmInit(&gMPlay_BGM);
+ m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 0);
+ m4aSongNumStop(songNum);
+ m4aMPlayFadeIn(&gMPlay_BGM, speed);
}
-void sub_8074FB8(u8 a1)
+void FadeOutBGMTemporarily(u8 speed)
{
- sub_81DE0D0(&gUnknown_03007380, a1);
+ m4aMPlayFadeOutTemporarily(&gMPlay_BGM, speed);
}
-bool8 sub_8074FD0(void)
+bool8 IsBGMPausedOrStopped(void)
{
- if (gUnknown_03007380.status & MUSICPLAYER_STATUS_PAUSE)
+ if (gMPlay_BGM.status & MUSICPLAYER_STATUS_PAUSE)
return TRUE;
- if (!(gUnknown_03007380.status & MUSICPLAYER_STATUS_TRACK))
+ if (!(gMPlay_BGM.status & MUSICPLAYER_STATUS_TRACK))
return TRUE;
return FALSE;
}
-void sub_8074FF8(u8 a1)
+void FadeInBGM(u8 speed)
{
- sub_81DE0F0(&gUnknown_03007380, a1);
+ m4aMPlayFadeIn(&gMPlay_BGM, speed);
}
-void play_sound_effect(u8 a1)
+void FadeOutBGM(u8 speed)
{
- m4aMPlayFadeOut(&gUnknown_03007380, a1);
+ m4aMPlayFadeOut(&gMPlay_BGM, speed);
}
-bool8 sub_8075028(void)
+bool8 IsBGMStopped(void)
{
- if (!(gUnknown_03007380.status & MUSICPLAYER_STATUS_TRACK))
+ if (!(gMPlay_BGM.status & MUSICPLAYER_STATUS_TRACK))
return TRUE;
return FALSE;
}
-void cry_related(u16 a1, u8 a2)
+void PlayCry1(u16 species, s8 pan)
{
- m4aMPlayVolumeControl(&gUnknown_03007380, 0xFFFF, 85);
- sub_80751C0(a1, a2, 0x7D, 0xA, 0);
- gUnknown_0202F7A0 = 2;
- sub_8075450();
+ m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 85);
+ PlayCryInternal(species, pan, 125, 10, 0);
+ gPokemonCryBGMDuckingCounter = 2;
+ RestoreBGMVolumeAfterPokemonCry();
}
-void sub_8075090(u16 a1, s8 a2, s8 a3, u8 a4)
+void PlayCry2(u16 species, s8 pan, s8 volume, u8 priority)
{
- sub_80751C0(a1, a2, a3, a4, 0);
+ PlayCryInternal(species, pan, volume, priority, 0);
}
-void sub_80750B4(u16 a1, s8 a2, u8 a3)
+void PlayCry3(u16 species, s8 pan, u8 mode)
{
- if (a3 == 1)
+ if (mode == 1)
{
- sub_80751C0(a1, a2, 0x7D, 0xA, 1);
+ PlayCryInternal(species, pan, 125, 10, 1);
}
else
{
- m4aMPlayVolumeControl(&gUnknown_03007380, 0xFFFF, 85);
- sub_80751C0(a1, a2, 0x7D, 0xA, a3);
- gUnknown_0202F7A0 = 2;
- sub_8075450();
+ m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 85);
+ PlayCryInternal(species, pan, 125, 10, mode);
+ gPokemonCryBGMDuckingCounter = 2;
+ RestoreBGMVolumeAfterPokemonCry();
}
}
-void sub_8075114(u16 a1, s8 a2, u8 a3)
+void PlayCry4(u16 species, s8 pan, u8 mode)
{
- if (a3 == 1)
+ if (mode == 1)
{
- sub_80751C0(a1, a2, 0x7D, 0xA, 1);
+ PlayCryInternal(species, pan, 125, 10, 1);
}
else
{
if (!(gUnknown_020239F8 & 0x40))
- m4aMPlayVolumeControl(&gUnknown_03007380, 0xFFFF, 85);
- sub_80751C0(a1, a2, 0x7D, 0xA, a3);
+ m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 85);
+ PlayCryInternal(species, pan, 125, 10, mode);
}
}
-void sub_8075178(u16 a1, u8 a2)
+void PlayCry5(u16 species, u8 mode)
{
- m4aMPlayVolumeControl(&gUnknown_03007380, 0xFFFF, 85);
- sub_80751C0(a1, 0, 0x7D, 0xA, a2);
- gUnknown_0202F7A0 = 2;
- sub_8075450();
+ m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 85);
+ PlayCryInternal(species, 0, 125, 10, mode);
+ gPokemonCryBGMDuckingCounter = 2;
+ RestoreBGMVolumeAfterPokemonCry();
}
#define GET_CRY_PTR(a, b)\
{\
- u32 ptr1;\
- struct MusicPlayerInfo *ptr2;\
+ struct ToneData *tone;\
if (v0)\
- ptr1 = (u32)&a[index];\
+ tone = &a[index];\
else\
- ptr1 = (u32)&b[index];\
- ptr2 = sub_81DF43C(ptr1);\
- gUnknown_0202F79C = ptr2;\
+ tone = &b[index];\
+ gMPlay_PokemonCry = SetPokemonCryTone(tone);\
break;\
}
-void sub_80751C0(u16 species, s8 a2, s8 a3, u8 a4, u8 a5)
+static void PlayCryInternal(u16 species, s8 pan, s8 volume, u8 priority, u8 mode)
{
u32 cryId;
u32 v0;
- u32 v1;
- u32 v2;
- u32 v3;
- u32 v4;
+ u32 release;
+ u32 length;
+ u32 pitch;
+ u32 chorus;
u32 index;
u8 table;
@@ -377,50 +367,50 @@ void sub_80751C0(u16 species, s8 a2, s8 a3, u8 a4, u8 a5)
cryId = species;
v0 = 0;
- v1 = 0;
- v2 = 140;
- v3 = 15360;
- v4 = 0;
+ release = 0;
+ length = 140;
+ pitch = 15360;
+ chorus = 0;
- switch (a5)
+ switch (mode)
{
case 0:
break;
case 1:
- v2 = 20;
- v1 = 225;
+ length = 20;
+ release = 225;
break;
case 2:
- v2 = 30;
- v1 = 225;
- v3 = 15600;
- v4 = 20;
- a3 = 80;
+ length = 30;
+ release = 225;
+ pitch = 15600;
+ chorus = 20;
+ volume = 80;
break;
case 3:
- v2 = 50;
- v1 = 200;
- v3 = 14800;
+ length = 50;
+ release = 200;
+ pitch = 14800;
break;
case 4:
- v2 = 20;
- v1 = 220;
- v3 = 15800;
+ length = 20;
+ release = 220;
+ pitch = 15800;
break;
case 5:
- v1 = 200;
- v3 = 14500;
+ release = 200;
+ pitch = 14500;
break;
}
- sub_81DF50C(a3);
- sub_81DF520(a2);
- sub_81DF538(v3);
- sub_81DF570(v2);
- sub_81DF588(0);
- sub_81DF57C(v1);
- sub_81DF5AC(v4);
- sub_81DF618(a4);
+ SetPokemonCryVolume(volume);
+ SetPokemonCryPanpot(pan);
+ SetPokemonCryPitch(pitch);
+ SetPokemonCryLength(length);
+ SetPokemonCryProgress(0);
+ SetPokemonCryRelease(release);
+ SetPokemonCryChorus(chorus);
+ SetPokemonCryPriority(priority);
asm("");
asm("");
@@ -445,9 +435,9 @@ void sub_80751C0(u16 species, s8 a2, s8 a3, u8 a4, u8 a5)
}
}
-bool8 sub_8075374(void)
+bool8 IsCryFinished(void)
{
- if (FuncIsActiveTask(sub_8075408) == TRUE)
+ if (FuncIsActiveTask(Task_DuckBGMForPokemonCry) == TRUE)
{
return FALSE;
}
@@ -458,20 +448,20 @@ bool8 sub_8075374(void)
}
}
-void sub_8075398(void)
+void StopCryAndClearCrySongs(void)
{
- m4aMPlayStop(gUnknown_0202F79C);
+ m4aMPlayStop(gMPlay_PokemonCry);
ClearPokemonCrySongs();
}
-void sub_80753B0(void)
+void StopCry(void)
{
- m4aMPlayStop(gUnknown_0202F79C);
+ m4aMPlayStop(gMPlay_PokemonCry);
}
-bool8 sub_80753C4(void)
+bool8 IsCryPlayingOrClearCrySongs(void)
{
- if (sub_81DF594(gUnknown_0202F79C))
+ if (IsPokemonCryPlaying(gMPlay_PokemonCry))
{
return TRUE;
}
@@ -482,97 +472,97 @@ bool8 sub_80753C4(void)
}
}
-bool8 sub_80753E8(void)
+bool8 IsCryPlaying(void)
{
- if (sub_81DF594(gUnknown_0202F79C))
+ if (IsPokemonCryPlaying(gMPlay_PokemonCry))
return TRUE;
else
return FALSE;
}
-void sub_8075408(u8 taskId)
+static void Task_DuckBGMForPokemonCry(u8 taskId)
{
- if (gUnknown_0202F7A0)
+ if (gPokemonCryBGMDuckingCounter)
{
- gUnknown_0202F7A0--;
+ gPokemonCryBGMDuckingCounter--;
}
- else if (!sub_81DF594(gUnknown_0202F79C))
+ else if (!IsPokemonCryPlaying(gMPlay_PokemonCry))
{
- m4aMPlayVolumeControl(&gUnknown_03007380, 0xFFFF, 256);
+ m4aMPlayVolumeControl(&gMPlay_BGM, 0xFFFF, 256);
DestroyTask(taskId);
}
}
-void sub_8075450(void)
+static void RestoreBGMVolumeAfterPokemonCry(void)
{
- if (FuncIsActiveTask(sub_8075408) != TRUE)
- CreateTask(sub_8075408, 80);
+ if (FuncIsActiveTask(Task_DuckBGMForPokemonCry) != TRUE)
+ CreateTask(Task_DuckBGMForPokemonCry, 80);
}
-void sub_8075474(u16 a1)
+void PlayBGM(u16 songNum)
{
- if (gUnknown_03004AEC)
- a1 = 0;
- m4aSongNumStart(a1);
+ if (gDisableMusic)
+ songNum = 0;
+ m4aSongNumStart(songNum);
}
-void audio_play(u16 songNum)
+void PlaySE(u16 songNum)
{
m4aSongNumStart(songNum);
}
-void audio_play_and_stuff(u16 a1, u8 a2)
+void PlaySE12WithPanning(u16 songNum, u8 pan)
{
- m4aSongNumStart(a1);
- m4aMPlayImmInit(&gUnknown_030073C0);
- m4aMPlayImmInit(&gUnknown_03007400);
- m4aMPlayPanpotControl(&gUnknown_030073C0, 0xFFFF, a2);
- m4aMPlayPanpotControl(&gUnknown_03007400, 0xFFFF, a2);
+ m4aSongNumStart(songNum);
+ m4aMPlayImmInit(&gMPlay_SE1);
+ m4aMPlayImmInit(&gMPlay_SE2);
+ m4aMPlayPanpotControl(&gMPlay_SE1, 0xFFFF, pan);
+ m4aMPlayPanpotControl(&gMPlay_SE2, 0xFFFF, pan);
}
-void sub_80754F8(u16 a1, u8 a2)
+void PlaySE1WithPanning(u16 songNum, u8 pan)
{
- m4aSongNumStart(a1);
- m4aMPlayImmInit(&gUnknown_030073C0);
- m4aMPlayPanpotControl(&gUnknown_030073C0, 0xFFFF, a2);
+ m4aSongNumStart(songNum);
+ m4aMPlayImmInit(&gMPlay_SE1);
+ m4aMPlayPanpotControl(&gMPlay_SE1, 0xFFFF, pan);
}
-void sub_807552C(u16 a1, u8 a2)
+void PlaySE2WithPanning(u16 songNum, u8 pan)
{
- m4aSongNumStart(a1);
- m4aMPlayImmInit(&gUnknown_03007400);
- m4aMPlayPanpotControl(&gUnknown_03007400, 0xFFFF, a2);
+ m4aSongNumStart(songNum);
+ m4aMPlayImmInit(&gMPlay_SE2);
+ m4aMPlayPanpotControl(&gMPlay_SE2, 0xFFFF, pan);
}
-void sub_8075560(u8 a1)
+void SE12PanpotControl(u8 pan)
{
- m4aMPlayPanpotControl(&gUnknown_030073C0, 0xFFFF, a1);
- m4aMPlayPanpotControl(&gUnknown_03007400, 0xFFFF, a1);
+ m4aMPlayPanpotControl(&gMPlay_SE1, 0xFFFF, pan);
+ m4aMPlayPanpotControl(&gMPlay_SE2, 0xFFFF, pan);
}
-bool8 mplay_has_finished_maybe(void)
+bool8 IsSEPlaying(void)
{
- if ((gUnknown_030073C0.status & MUSICPLAYER_STATUS_PAUSE) && (gUnknown_03007400.status & MUSICPLAYER_STATUS_PAUSE))
+ if ((gMPlay_SE1.status & MUSICPLAYER_STATUS_PAUSE) && (gMPlay_SE2.status & MUSICPLAYER_STATUS_PAUSE))
return FALSE;
- if (!(gUnknown_030073C0.status & MUSICPLAYER_STATUS_TRACK) && !(gUnknown_03007400.status & MUSICPLAYER_STATUS_TRACK))
+ if (!(gMPlay_SE1.status & MUSICPLAYER_STATUS_TRACK) && !(gMPlay_SE2.status & MUSICPLAYER_STATUS_TRACK))
return FALSE;
return TRUE;
}
-bool8 sub_80755D4(void)
+bool8 IsBGMPlaying(void)
{
- if (gUnknown_03007380.status & MUSICPLAYER_STATUS_PAUSE)
+ if (gMPlay_BGM.status & MUSICPLAYER_STATUS_PAUSE)
return FALSE;
- if (!(gUnknown_03007380.status & MUSICPLAYER_STATUS_TRACK))
+ if (!(gMPlay_BGM.status & MUSICPLAYER_STATUS_TRACK))
return FALSE;
return TRUE;
}
-bool8 sub_80755FC(void)
+bool8 IsSpecialSEPlaying(void)
{
- if (gUnknown_03007450.status & MUSICPLAYER_STATUS_PAUSE)
+ if (gMPlay_SE3.status & MUSICPLAYER_STATUS_PAUSE)
return FALSE;
- if (!(gUnknown_03007450.status & MUSICPLAYER_STATUS_TRACK))
+ if (!(gMPlay_SE3.status & MUSICPLAYER_STATUS_TRACK))
return FALSE;
return TRUE;
}
diff --git a/src/text.c b/src/text.c
index 6ed91fc2e..fe284328f 100644
--- a/src/text.c
+++ b/src/text.c
@@ -4,6 +4,7 @@
#include "string_util.h"
#include "songs.h"
#include "palette.h"
+#include "sound.h"
enum
{
@@ -63,10 +64,6 @@ struct ShiftAmount
u32 right;
};
-extern void sub_8075474(u16);
-extern void audio_play(u16);
-extern u8 mplay_has_finished_maybe(void);
-
static u16 InitVariableWidthFontTileData(struct Window *, u16);
static u16 LoadFixedWidthFont(struct Window *, u16);
static u16 LoadFixedWidthFont_Font1Latin(struct Window *, u16);
@@ -2178,7 +2175,7 @@ static u8 ExtCtrlCode_PlayBGM(struct Window *win)
{
u16 loByte = win->text[win->textIndex++];
u16 hiByte = win->text[win->textIndex++] << 8;
- sub_8075474(loByte | hiByte);
+ PlayBGM(loByte | hiByte);
return 2;
}
@@ -2210,7 +2207,7 @@ static u8 ExtCtrlCode_PlaySE(struct Window *win)
{
u16 loByte = win->text[win->textIndex++];
u16 hiByte = win->text[win->textIndex++] << 8;
- audio_play(loByte | hiByte);
+ PlaySE(loByte | hiByte);
return 2;
}
@@ -2386,7 +2383,7 @@ static u8 UpdateWindowText(struct Window *win)
{
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
}
else
{
@@ -2445,7 +2442,7 @@ static u8 UpdateWindowText(struct Window *win)
ClearWindowTextLines(win);
break;
case WIN_STATE_WAIT_SOUND:
- if (mplay_has_finished_maybe())
+ if (IsSEPlaying())
return 0;
win->state = WIN_STATE_NORMAL;
break;
@@ -3192,7 +3189,7 @@ static u8 WaitWithDownArrow(struct Window *win)
{
if (gMain.newKeys & (A_BUTTON | B_BUTTON))
{
- audio_play(SE_SELECT);
+ PlaySE(SE_SELECT);
TryEraseDownArrow(win);
}
else