Files
PixelDefense/game/sounds.c

60 lines
1.8 KiB
C

#include "sounds.h"
void soundsApplyVolume(SoundState *sounds, f32 master, f32 music, f32 sound) {
SetMasterVolume(master);
if (sounds->musicLoaded)
SetMusicVolume(sounds->music, music);
if (IsSoundPlaying(sounds->playing))
SetSoundVolume(sounds->playing, sound);
sounds->masterVolume = master;
sounds->musicVolume = music;
sounds->soundVolume = sound;
}
void soundsLoad(SoundState *sounds, SoundType type, f32 interval, const char *path) {
Sound newSound = LoadSound(path);
sounds->sounds[type] = newSound;
sounds->soundInterval[type] = interval;
sounds->playing = newSound;
}
void soundsPlay(SoundState *sounds, SoundType type) {
PlaySound(sounds->playing);
SetSoundVolume(sounds->playing, sounds->soundVolume);
}
void soundsUnloadAll(SoundState *sounds) {
for (i32 i = 0; i < SOUND_COUNT; i++) {
UnloadSound(sounds->sounds[i]);
}
}
void soundsUpdate(SoundState *sounds) {
if (sounds->musicLoaded == true) {
UpdateMusicStream(sounds->music);
}
}
void soundsLoadMusicStream(SoundState *sounds, const char *path) {
soundsUnloadMusicStream(sounds);
sounds->music = LoadMusicStream(path);
sounds->musicLoaded = true;
}
void soundsPlayMusicStream(SoundState *sounds) {
if (sounds->musicLoaded == false) return;
PlayMusicStream(sounds->music);
SetMusicVolume(sounds->music, sounds->musicVolume);
}
void soundsPauseMusicStream(SoundState *sounds) {
if (sounds->musicLoaded == false) return;
PauseMusicStream(sounds->music);
}
void soundsResumeMusicStream(SoundState *sounds) {
if (sounds->musicLoaded == false) return;
ResumeMusicStream(sounds->music);
}
void soundsUnloadMusicStream(SoundState *sounds) {
if (sounds->musicLoaded == false) return;
UnloadMusicStream(sounds->music);
sounds->musicLoaded = false;
}