diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/battle.h | 2 | ||||
-rw-r--r-- | include/gba/m4a_internal.h | 5 | ||||
-rw-r--r-- | include/songs.h | 374 | ||||
-rw-r--r-- | include/sound.h | 46 |
4 files changed, 426 insertions, 1 deletions
diff --git a/include/battle.h b/include/battle.h index 741e821e9..38e50e928 100644 --- a/include/battle.h +++ b/include/battle.h @@ -7,7 +7,7 @@ #define BATTLE_TYPE_TRAINER 0x0008 #define BATTLE_TYPE_FIRST_BATTLE 0x0010 #define BATTLE_TYPE_20 0x0020 -#define BATTLE_TYPE_40 0x0040 +#define BATTLE_TYPE_MULTI 0x0040 #define BATTLE_TYPE_SAFARI 0x0080 #define BATTLE_TYPE_BATTLE_TOWER 0x0100 #define BATTLE_TYPE_WALLY_TUTORIAL 0x0200 diff --git a/include/gba/m4a_internal.h b/include/gba/m4a_internal.h index f5d44de99..6cdfd13e1 100644 --- a/include/gba/m4a_internal.h +++ b/include/gba/m4a_internal.h @@ -1,3 +1,6 @@ +#ifndef GUARD_GBA_M4A_INTERNAL_H +#define GUARD_GBA_M4A_INTERNAL_H + #include "gba/gba.h" // ASCII encoding of 'Smsh' in reverse @@ -460,3 +463,5 @@ void ply_xleng(struct MusicPlayerInfo *, struct MusicPlayerTrack *); void ply_xswee(struct MusicPlayerInfo *, struct MusicPlayerTrack *); void ply_xcmd_0C(struct MusicPlayerInfo *, struct MusicPlayerTrack *); void ply_xcmd_0D(struct MusicPlayerInfo *, struct MusicPlayerTrack *); + +#endif // GUARD_GBA_M4A_INTERNAL_H diff --git a/include/songs.h b/include/songs.h new file mode 100644 index 000000000..afd26d683 --- /dev/null +++ b/include/songs.h @@ -0,0 +1,374 @@ +#ifndef GUARD_SONGS_H +#define GUARD_SONGS_H + +enum +{ + /*0x00*/ SE_STOP, + /*0x01*/ SE_KAIFUKU, + /*0x02*/ SE_PC_LOGON, + /*0x03*/ SE_PC_OFF, + /*0x04*/ SE_PC_ON, + /*0x05*/ SE_SELECT, + /*0x06*/ SE_WIN_OPEN, + /*0x07*/ SE_WALL_HIT, + /*0x08*/ SE_DOOR, + /*0x09*/ SE_KAIDAN, + /*0x0A*/ SE_DANSA, + /*0x0B*/ SE_JITENSYA, + /*0x0C*/ SE_KOUKA_L, + /*0x0D*/ SE_KOUKA_M, + /*0x0E*/ SE_KOUKA_H, + /*0x0F*/ SE_BOWA2, + /*0x10*/ SE_POKE_DEAD, + /*0x11*/ SE_NIGERU, + /*0x12*/ SE_JIDO_DOA, + /*0x13*/ SE_NAMINORI, + /*0x14*/ SE_BAN, + /*0x15*/ SE_PIN, + /*0x16*/ SE_BOO, + /*0x17*/ SE_BOWA, + /*0x18*/ SE_JYUNI, + /*0x19*/ SE_A, + /*0x1A*/ SE_I, + /*0x1B*/ SE_U, + /*0x1C*/ SE_E, + /*0x1D*/ SE_O, + /*0x1E*/ SE_N, + /*0x1F*/ SE_SEIKAI, + /*0x20*/ SE_HAZURE, + /*0x21*/ SE_EXP, + /*0x22*/ SE_JITE_PYOKO, + /*0x23*/ SE_MU_PACHI, + /*0x24*/ SE_TK_KASYA, + /*0x25*/ SE_FU_ZAKU, + /*0x26*/ SE_FU_ZAKU2, + /*0x27*/ SE_FU_ZUZUZU, + /*0x28*/ SE_RU_GASHIN, + /*0x29*/ SE_RU_GASYAN, + /*0x2A*/ SE_RU_BARI, + /*0x2B*/ SE_RU_HYUU, + /*0x2C*/ SE_KI_GASYAN, + /*0x2D*/ SE_TK_WARPIN, + /*0x2E*/ SE_TK_WARPOUT, + /*0x2F*/ SE_TU_SAA, + /*0x30*/ SE_HI_TURUN, + /*0x31*/ SE_TRACK_MOVE, + /*0x32*/ SE_TRACK_STOP, + /*0x33*/ SE_TRACK_HAIK, + /*0x34*/ SE_TRACK_DOOR, + /*0x35*/ SE_MOTER, + /*0x36*/ SE_CARD, + /*0x37*/ SE_SAVE, + /*0x38*/ SE_KON, + /*0x39*/ SE_KON2, + /*0x3A*/ SE_KON3, + /*0x3B*/ SE_KON4, + /*0x3C*/ SE_SUIKOMU, + /*0x3D*/ SE_NAGERU, + SE_TOY_C, + SE_TOY_D, + SE_TOY_E, + SE_TOY_F, + SE_TOY_G, + SE_TOY_A, + SE_TOY_B, + SE_TOY_C1, + SE_MIZU, + SE_HASHI, + SE_DAUGI, + SE_PINPON, + SE_FUUSEN1, + SE_FUUSEN2, + SE_FUUSEN3, + SE_TOY_KABE, + SE_TOY_DANGO, + SE_DOKU, + SE_ESUKA, + SE_T_AME, + SE_T_AME_E, + SE_T_OOAME, + SE_T_OOAME_E, + SE_T_KOAME, + SE_T_KOAME_E, + SE_T_KAMI, + SE_T_KAMI2, + SE_ELEBETA, + /*0x5A*/ SE_HINSI, + /*0x5B*/ SE_EXPMAX, + /*0x5C*/ SE_TAMAKORO, + /*0x5D*/ SE_TAMAKORO_E, + /*0x5E*/ SE_BASABASA, + /*0x5F*/ SE_REGI, + SE_C_GAJI, + SE_C_MAKU_U, + SE_C_MAKU_D, + SE_C_PASI, + SE_C_SYU, + SE_C_PIKON, + /*0x66*/ SE_REAPOKE, + /*0x67*/ SE_OP_BASYU, + /*0x68*/ SE_BT_START, + SE_DENDOU, + SE_JIHANKI, + SE_TAMA, + SE_Z_SCROLL, + /*0x6D*/ SE_Z_PAGE, + /*0x6E*/ SE_PN_ON, + /*0x6F*/ SE_PN_OFF, + /*0x70*/ SE_Z_SEARCH, + /*0x71*/ SE_TAMAGO, + /*0x72*/ SE_TB_START, + /*0x73*/ SE_TB_KON, + /*0x74*/ SE_TB_KARA, + /*0x75*/ SE_BIDORO, + /*0x76*/ SE_W085, + /*0x77*/ SE_W085B, + /*0x78*/ SE_W231, + /*0x79*/ SE_W171, + /*0x7A*/ SE_W233, + /*0x7B*/ SE_W233B, + /*0x7C*/ SE_W145, + /*0x7D*/ SE_W145B, + /*0x7E*/ SE_W145C, + /*0x7F*/ SE_W240, + /*0x80*/ SE_W015, + /*0x81*/ SE_W081, + /*0x82*/ SE_W081B, + /*0x83*/ SE_W088, + /*0x84*/ SE_W016, + /*0x85*/ SE_W016B, + /*0x86*/ SE_W003, + /*0x87*/ SE_W104, + /*0x88*/ SE_W013, + /*0x89*/ SE_W196, + /*0x8A*/ SE_W086, + /*0x8B*/ SE_W004, + /*0x8C*/ SE_W025, + /*0x8D*/ SE_W025B, + SE_W152, + SE_W026, + SE_W172, + SE_W172B, + SE_W053, + SE_W007, + SE_W092, + SE_W221, + SE_W221B, + SE_W052, + SE_W036, + SE_W059, + SE_W059B, + SE_W010, + SE_W011, + SE_W017, + SE_W019, + SE_W028, + SE_W013B, + SE_W044, + SE_W029, + SE_W057, + SE_W056, + SE_W250, + SE_W030, + SE_W039, + SE_W054, + SE_W077, + SE_W020, + SE_W082, + SE_W047, + SE_W195, + SE_W006, + SE_W091, + SE_W146, + SE_W120, + SE_W153, + SE_W071B, + SE_W071, + SE_W103, + /*0xB6*/ SE_W062, + /*0xB7*/ SE_W062B, + /*0xB8*/ SE_W048, + /*0xB9*/ SE_W187, + /*0xBA*/ SE_W118, + /*0xBB*/ SE_W155, + /*0xBC*/ SE_W122, + /*0xBD*/ SE_W060, + /*0xBE*/ SE_W185, + /*0xBF*/ SE_W014, + /*0xC0*/ SE_W043, + /*0xC1*/ SE_W207, + /*0xC2*/ SE_W207B, + /*0xC3*/ SE_W215, + /*0xC4*/ SE_W109, + /*0xC5*/ SE_W173, + /*0xC6*/ SE_W280, + /*0xC7*/ SE_W202, + /*0xC8*/ SE_W060B, + /*0xC9*/ SE_W076, + /*0xCA*/ SE_W080, + /*0xCB*/ SE_W100, + /*0xCC*/ SE_W107, + SE_W166, + SE_W129, + SE_W115, + SE_W112, + SE_W197, + SE_W199, + SE_W236, + SE_W204, + SE_W268, + SE_W070, + SE_W063, + SE_W127, + SE_W179, + SE_W151, + SE_W201, + SE_W161, + SE_W161B, + SE_W227, + SE_W227B, + SE_W226, + SE_W208, + SE_W213, + SE_W213B, + SE_W234, + SE_W260, + SE_W328, + SE_W320, + SE_W255, + SE_W291, + SE_W089, + SE_W239, + SE_W230, + SE_W281, + SE_W327, + SE_W287, + SE_W257, + SE_W253, + SE_W258, + SE_W322, + SE_W298, + SE_W287B, + SE_W114, + SE_W063B, + BGM_STOP = 349, + BGM_TETSUJI, + BGM_FIELD13, + BGM_KACHI22, + BGM_KACHI2, + BGM_KACHI3, + BGM_KACHI5, + BGM_PCC, + BGM_NIBI, + BGM_SUIKUN, + BGM_DOORO1, + BGM_DOORO_X1, + BGM_DOORO_X3, + BGM_MACHI_S2, + BGM_MACHI_S4, + BGM_GIM, + BGM_NAMINORI, + BGM_DAN01, + /*0x16F*/ BGM_FANFA1, + /*0x170*/ BGM_ME_ASA, + /*0x171*/ BGM_ME_BACHI, + /*0x172*/ BGM_FANFA4, + /*0x173*/ BGM_FANFA5, + /*0x174*/ BGM_ME_WAZA, + /*0x175*/ BGM_BIJYUTU, + /*0x176*/ BGM_DOORO_X4, + /*0x177*/ BGM_FUNE_KAN, + /*0x178*/ BGM_ME_SHINKA, + /*0x179*/ BGM_SHINKA, + /*0x17A*/ BGM_ME_WASURE, + /*0x17B*/ BGM_SYOUJOEYE, + /*0x17C*/ BGM_BOYEYE, + /*0x17D*/ BGM_DAN02, + /*0x17E*/ BGM_MACHI_S3, + /*0x17F*/ BGM_ODAMAKI, + /*0x180*/ BGM_B_TOWER, + /*0x181*/ BGM_SWIMEYE, + /*0x182*/ BGM_DAN03, + /*0x183*/ BGM_ME_KINOMI, + /*0x184*/ BGM_ME_TAMA, + /*0x185*/ BGM_ME_B_BIG, + /*0x186*/ BGM_ME_B_SMALL, + /*0x187*/ BGM_ME_ZANNEN, + /*0x188*/ BGM_BD_TIME, + /*0x189*/ BGM_TEST1, + /*0x18A*/ BGM_TEST2, + /*0x18B*/ BGM_TEST3, + /*0x18C*/ BGM_TEST4, + /*0x18D*/ BGM_TEST, + /*0x18E*/ BGM_GOMACHI0, + /*0x18F*/ BGM_GOTOWN, + /*0x190*/ BGM_POKECEN, + /*0x191*/ BGM_NEXTROAD, + /*0x192*/ BGM_GRANROAD, + /*0x193*/ BGM_CYCLING, + BGM_FRIENDLY, + BGM_MISHIRO, + BGM_TOZAN, + BGM_GIRLEYE, + BGM_MINAMO, + BGM_ASHROAD, + BGM_EVENT0, + BGM_DEEPDEEP, + BGM_KACHI1, + BGM_TITLE3, + BGM_DEMO1, + BGM_GIRL_SUP, + BGM_HAGESHII, + BGM_KAKKOII, + BGM_KAZANBAI, + BGM_AQA_0, + BGM_TSURETEK, + BGM_BOY_SUP, + BGM_RAINBOW, + BGM_AYASII, + BGM_KACHI4, + BGM_ROPEWAY, + BGM_CASINO, + BGM_HIGHTOWN, + BGM_SAFARI, + BGM_C_ROAD, + BGM_AJITO, + BGM_M_BOAT, + BGM_M_DUNGON, + BGM_FINECITY, + BGM_MACHUPI, + BGM_P_SCHOOL, + BGM_DENDOU, + BGM_TONEKUSA, + BGM_MABOROSI, + BGM_CON_FAN, + BGM_CONTEST0, + BGM_MGM0, + BGM_T_BATTLE, + BGM_OOAME, + BGM_HIDERI, + BGM_RUNECITY, + BGM_CON_K, + BGM_EIKOU_R, + BGM_KARAKURI, + BGM_HUTAGO, + BGM_SITENNOU, + BGM_YAMA_EYE, + BGM_CONLOBBY, + BGM_INTER_V, + BGM_DAIGO, + BGM_THANKFOR, + BGM_END, + BGM_BATTLE27, // wild + BGM_BATTLE31, // aqua/magma grunt + BGM_BATTLE20, // trainer + BGM_BATTLE32, // gym leader + BGM_BATTLE33, // champion + BGM_BATTLE36, // regi + BGM_BATTLE34, // weather trio + BGM_BATTLE35, // rival + BGM_BATTLE38, // elite four + BGM_BATTLE30, // aqua/magma leader +}; + +#endif // GUARD_SONGS_H diff --git a/include/sound.h b/include/sound.h new file mode 100644 index 000000000..283b2b1f9 --- /dev/null +++ b/include/sound.h @@ -0,0 +1,46 @@ +#ifndef GUARD_SOUND_H +#define GUARD_SOUND_H + +void InitMapMusic(void); +void MapMusicMain(void); +void ResetMapMusic(void); +u16 GetCurrentMapMusic(void); +void PlayNewMapMusic(u16 songNum); +void StopMapMusic(void); +void FadeOutMapMusic(u8 speed); +void FadeOutAndPlayNewMapMusic(u16 songNum, u8 speed); +void FadeOutAndFadeInNewMapMusic(u16 songNum, u8 fadeOutSpeed, u8 fadeInSpeed); +void FadeInNewMapMusic(u16 songNum, u8 speed); +bool8 IsNotWaitingForBGMStop(void); +void PlayFanfareByFanfareNum(u8 fanfareNum); +bool8 WaitFanfare(bool8 stop); +void StopFanfareByFanfareNum(u8 fanfareNum); +void PlayFanfare(u16 songNum); +bool8 IsFanfareTaskInactive(void); +void FadeInNewBGM(u16 songNum, u8 speed); +void FadeOutBGMTemporarily(u8 speed); +bool8 IsBGMPausedOrStopped(void); +void FadeInBGM(u8 speed); +void FadeOutBGM(u8 speed); +bool8 IsBGMStopped(void); +void PlayCry1(u16 species, s8 pan); +void PlayCry2(u16 species, s8 pan, s8 volume, u8 priority); +void PlayCry3(u16 species, s8 pan, u8 mode); +void PlayCry4(u16 species, s8 pan, u8 mode); +void PlayCry5(u16 species, u8 mode); +bool8 IsCryFinished(void); +void StopCryAndClearCrySongs(void); +void StopCry(void); +bool8 IsCryPlayingOrClearCrySongs(void); +bool8 IsCryPlaying(void); +void PlayBGM(u16 songNum); +void PlaySE(u16 songNum); +void PlaySE12WithPanning(u16 songNum, s8 pan); +void PlaySE1WithPanning(u16 songNum, s8 pan); +void PlaySE2WithPanning(u16 songNum, s8 pan); +void SE12PanpotControl(s8 pan); +bool8 IsSEPlaying(void); +bool8 IsBGMPlaying(void); +bool8 IsSpecialSEPlaying(void); + +#endif // GUARD_SOUND_H |