diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/link.c | 13 | ||||
-rw-r--r-- | src/m4a_2.c | 14 | ||||
-rw-r--r-- | src/m4a_4.c | 24 | ||||
-rw-r--r-- | src/main.c | 7 | ||||
-rw-r--r-- | src/main_menu.c | 43 | ||||
-rw-r--r-- | src/menu.c | 23 | ||||
-rw-r--r-- | src/scrcmd.c | 36 | ||||
-rw-r--r-- | src/sound.c | 494 | ||||
-rw-r--r-- | src/text.c | 15 |
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 |