#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; }