Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
MorsGames
GitHub Repository: MorsGames/sm64plus
Path: blob/master/src/audio/external.h
7857 views
1
#ifndef AUDIO_EXTERNAL_H
2
#define AUDIO_EXTERNAL_H
3
4
#include <PR/ultratypes.h>
5
6
#include "types.h"
7
8
// Sequence arguments, passed to seq_player_play_sequence. seqId may be bit-OR'ed with
9
// SEQ_VARIATION; this will load the same sequence, but set a variation
10
// bit which may be read by the sequence script.
11
#define SEQUENCE_ARGS(priority, seqId) ((priority << 8) | seqId)
12
13
#define SOUND_MODE_STEREO 0
14
#define SOUND_MODE_MONO 3
15
#define SOUND_MODE_HEADSET 1
16
17
#define SEQ_PLAYER_LEVEL 0 // Level background music
18
#define SEQ_PLAYER_ENV 1 // Misc music like the puzzle jingle
19
#define SEQ_PLAYER_SFX 2 // Sound effects
20
21
extern s32 gAudioErrorFlags;
22
extern f32 gGlobalSoundSource[3];
23
24
// defined in data.c, used by the game
25
extern u32 gAudioRandom;
26
27
extern u8 gAudioSPTaskYieldBuffer[]; // ucode yield data ptr; only used in JP
28
29
struct SPTask *create_next_audio_frame_task(void);
30
void play_sound(s32 soundBits, f32 *pos);
31
void audio_signal_game_loop_tick(void);
32
void seq_player_fade_out(u8 player, u16 fadeDuration);
33
void fade_volume_scale(u8 player, u8 targetScale, u16 fadeDuration);
34
void seq_player_lower_volume(u8 player, u16 fadeDuration, u8 percentage);
35
void seq_player_unlower_volume(u8 player, u16 fadeDuration);
36
void set_audio_muted(u8 muted);
37
void sound_init(void);
38
void get_currently_playing_sound(u8 bank, u8 *numPlayingSounds, u8 *numSoundsInBank, u8 *soundId);
39
void stop_sound(u32 soundBits, f32 *pos);
40
void stop_sounds_from_source(f32 *pos);
41
void stop_sounds_in_continuous_banks(void);
42
void sound_banks_disable(u8 player, u16 bankMask);
43
void sound_banks_enable(u8 player, u16 bankMask);
44
void set_sound_moving_speed(u8 bank, u8 speed);
45
void play_dialog_sound(u8 dialogID);
46
void play_music(u8 player, u16 seqArgs, u16 fadeTimer);
47
void stop_background_music(u16 seqId);
48
void fadeout_background_music(u16 arg0, u16 fadeOut);
49
void drop_queued_background_music(void);
50
u16 get_current_background_music(void);
51
void play_secondary_music(u8 seqId, u8 bgMusicVolume, u8 volume, u16 fadeTimer);
52
void func_80321080(u16 fadeTimer);
53
void func_803210D4(u16 fadeOutTime);
54
void play_course_clear(void);
55
void play_peachs_jingle(void);
56
void play_puzzle_jingle(void);
57
void play_star_fanfare(void);
58
void play_power_star_jingle(u8 arg0);
59
void play_race_fanfare(void);
60
void play_toads_jingle(void);
61
void sound_reset(u8 presetId);
62
void audio_set_sound_mode(u8 arg0);
63
64
void audio_init(void); // in load.c
65
66
#if defined(VERSION_EU) || defined(VERSION_SH)
67
struct SPTask *unused_80321460();
68
struct SPTask *unused_80321460(void);
69
#endif
70
71
#endif // AUDIO_EXTERNAL_H
72
73