summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorGriffinR <griffin.g.richards@gmail.com>2021-11-13 15:54:40 -0500
committerGitHub <noreply@github.com>2021-11-13 15:54:40 -0500
commitb14fe9dce369b1a78c5f4f653b4c7e2e2d67d98d (patch)
treeff1f6209a92bc3a92c102bb4a18ca8a7fa907af7 /include
parentef935f6f4a59a2b37c4ff870ade96853621210ae (diff)
parent57be596ce43bed86594412d598d3058c4a3d1d2d (diff)
Merge pull request #1547 from GriffinRichards/doc-sounddata
Clean up sound, add CRY_MODE constants
Diffstat (limited to 'include')
-rw-r--r--include/constants/sound.h48
-rw-r--r--include/sound.h33
2 files changed, 55 insertions, 26 deletions
diff --git a/include/constants/sound.h b/include/constants/sound.h
new file mode 100644
index 000000000..dc434bcf8
--- /dev/null
+++ b/include/constants/sound.h
@@ -0,0 +1,48 @@
+#ifndef GUARD_CONSTANTS_SOUND_H
+#define GUARD_CONSTANTS_SOUND_H
+
+#define FANFARE_LEVEL_UP 0
+#define FANFARE_OBTAIN_ITEM 1
+#define FANFARE_EVOLVED 2
+#define FANFARE_OBTAIN_TMHM 3
+#define FANFARE_HEAL 4
+#define FANFARE_OBTAIN_BADGE 5
+#define FANFARE_MOVE_DELETED 6
+#define FANFARE_OBTAIN_BERRY 7
+#define FANFARE_AWAKEN_LEGEND 8
+#define FANFARE_SLOTS_JACKPOT 9
+#define FANFARE_SLOTS_WIN 10
+#define FANFARE_TOO_BAD 11
+#define FANFARE_RG_POKE_FLUTE 12
+#define FANFARE_RG_OBTAIN_KEY_ITEM 13
+#define FANFARE_RG_DEX_RATING 14
+#define FANFARE_OBTAIN_B_POINTS 15
+#define FANFARE_OBTAIN_SYMBOL 16
+#define FANFARE_REGISTER_MATCH_CALL 17
+
+#define CRY_MODE_NORMAL 0 // Default
+#define CRY_MODE_DOUBLES 1 // Shortened cry for double battles
+#define CRY_MODE_ENCOUNTER 2 // Used when starting a static encounter, or when a Pokémon is "aggressive"
+#define CRY_MODE_HIGH_PITCH 3 // Highest pitch mode, used exclusively by the move Howl
+#define CRY_MODE_ECHO_START 4 // For 1st half of cry used by the move Hyper Voice. Played in reverse
+#define CRY_MODE_FAINT 5 // Used when a Pokémon faints
+#define CRY_MODE_ECHO_END 6 // For 2nd half of cry used by the move Hyper Voice
+#define CRY_MODE_ROAR_1 7 // For 1st cry used by the move Roar
+#define CRY_MODE_ROAR_2 8 // For 2nd cry used by the move Roar
+#define CRY_MODE_GROWL_1 9 // For 1st cry used by the move Growl. Played in reverse
+#define CRY_MODE_GROWL_2 10 // For 2nd cry used by the move Growl
+#define CRY_MODE_WEAK 11 // Used when a Pokémon is unhealthy
+#define CRY_MODE_WEAK_DOUBLES 12 // Equivalent to CRY_MODE_DOUBLES for CRY_MODE_WEAK
+
+// Given to SoundTask_PlayDoubleCry to determine which cry mode to use. Values are arbitrary
+#define DOUBLE_CRY_ROAR 2
+#define DOUBLE_CRY_GROWL 255
+
+#define CRY_PRIORITY_NORMAL 10
+#define CRY_PRIORITY_AMBIENT 1
+
+// Cry volume was changed from 125 in R/S to 120 for FRLG/Em, but was (accidentally?) not updated outside of sound.c
+#define CRY_VOLUME 120
+#define CRY_VOLUME_RS 125
+
+#endif // GUARD_CONSTANTS_SOUND_H
diff --git a/include/sound.h b/include/sound.h
index 25ffa2d6e..a5463a456 100644
--- a/include/sound.h
+++ b/include/sound.h
@@ -1,26 +1,7 @@
#ifndef GUARD_SOUND_H
#define GUARD_SOUND_H
-enum {
- FANFARE_LEVEL_UP,
- FANFARE_OBTAIN_ITEM,
- FANFARE_EVOLVED,
- FANFARE_OBTAIN_TMHM,
- FANFARE_HEAL,
- FANFARE_OBTAIN_BADGE,
- FANFARE_MOVE_DELETED,
- FANFARE_OBTAIN_BERRY,
- FANFARE_AWAKEN_LEGEND,
- FANFARE_SLOTS_JACKPOT,
- FANFARE_SLOTS_WIN,
- FANFARE_TOO_BAD,
- FANFARE_RG_POKE_FLUTE,
- FANFARE_RG_OBTAIN_KEY_ITEM,
- FANFARE_RG_DEX_RATING,
- FANFARE_OBTAIN_B_POINTS,
- FANFARE_OBTAIN_SYMBOL,
- FANFARE_REGISTER_MATCH_CALL,
-};
+#include "constants/sound.h"
void InitMapMusic(void);
void MapMusicMain(void);
@@ -44,12 +25,12 @@ 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);
-void PlayCry6(u16 species, s8 pan, u8 mode);
+void PlayCry_Normal(u16 species, s8 pan);
+void PlayCry_NormalNoDucking(u16 species, s8 pan, s8 volume, u8 priority);
+void PlayCry_ByMode(u16 species, s8 pan, u8 mode);
+void PlayCry_ReleaseDouble(u16 species, s8 pan, u8 mode);
+void PlayCry_Script(u16 species, u8 mode);
+void PlayCry_DuckNoRestore(u16 species, s8 pan, u8 mode);
void PlayCryInternal(u16 species, s8 pan, s8 volume, u8 priority, u8 mode);
bool8 IsCryFinished(void);
void StopCryAndClearCrySongs(void);