171 lines
6.8 KiB
C++
171 lines
6.8 KiB
C++
#include "soundmanager.hpp"
|
|
|
|
//PLACE HERE A FORWARD DECLARATION OF YOUR STATIC VARIABLES
|
|
//sf::SoundBuffer SoundManager::SOUND_NAME;
|
|
//sf::Music SoundManager::MUSIC_NAME;
|
|
|
|
/* Example:
|
|
sf::Music SoundManager::overWorldMusic;*/
|
|
sf::Music SoundManager::worldMusic;
|
|
sf::Music SoundManager::clickTrack;
|
|
|
|
sf::SoundBuffer SoundManager::atk1;
|
|
sf::SoundBuffer SoundManager::atk2;
|
|
sf::SoundBuffer SoundManager::atk3;
|
|
sf::SoundBuffer SoundManager::atk4;
|
|
sf::SoundBuffer SoundManager::atk5;
|
|
sf::SoundBuffer SoundManager::atk6;
|
|
sf::SoundBuffer SoundManager::atk7;
|
|
sf::SoundBuffer SoundManager::atk8;
|
|
sf::SoundBuffer SoundManager::atk9;
|
|
sf::SoundBuffer SoundManager::atk10;
|
|
sf::SoundBuffer SoundManager::atk11;
|
|
sf::SoundBuffer SoundManager::atk12;
|
|
sf::SoundBuffer SoundManager::atk13;
|
|
sf::SoundBuffer SoundManager::atk14;
|
|
sf::SoundBuffer SoundManager::atk15;
|
|
sf::SoundBuffer SoundManager::atk16;
|
|
sf::SoundBuffer SoundManager::atk17;
|
|
sf::SoundBuffer SoundManager::atk18;
|
|
sf::SoundBuffer SoundManager::atk19;
|
|
sf::SoundBuffer SoundManager::atk20;
|
|
sf::SoundBuffer SoundManager::fail1;
|
|
sf::SoundBuffer SoundManager::fail2;
|
|
sf::SoundBuffer SoundManager::fail3;
|
|
sf::SoundBuffer SoundManager::fail4;
|
|
sf::SoundBuffer SoundManager::fail5;
|
|
sf::SoundBuffer SoundManager::fail6;
|
|
sf::SoundBuffer SoundManager::note1;
|
|
sf::SoundBuffer SoundManager::note2;
|
|
sf::SoundBuffer SoundManager::note3;
|
|
sf::SoundBuffer SoundManager::note4;
|
|
|
|
std::map<std::string, sf::Sound> SoundManager::soundMap;
|
|
std::map<std::string, sf::Music> SoundManager::musicMap;
|
|
std::map<std::string, sf::Sound>::iterator SoundManager::sit;
|
|
std::map<std::string, sf::Music>::iterator SoundManager::mit;
|
|
|
|
|
|
void SoundManager::load(){
|
|
|
|
//LOAD HERE YOUR SOUNDS AND MUSIC
|
|
/* Example: */
|
|
musicMap["intro"].openFromFile(WORK_DIR+"Resources/Sounds/intro.wav");
|
|
musicMap["clicks"].openFromFile(WORK_DIR+"Resources/Sounds/clicks.wav");
|
|
ASSERT(atk1.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/1.wav"));
|
|
soundMap["atk1"].setBuffer(atk1);
|
|
ASSERT(atk2.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/2.wav"));
|
|
soundMap["atk2"].setBuffer(atk2);
|
|
ASSERT(atk3.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/3.wav"));
|
|
soundMap["atk3"].setBuffer(atk3);
|
|
ASSERT(atk4.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/4.wav"));
|
|
soundMap["atk4"].setBuffer(atk4);
|
|
ASSERT(atk5.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/5.wav"));
|
|
soundMap["atk5"].setBuffer(atk5);
|
|
ASSERT(atk6.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/6.wav"));
|
|
soundMap["atk6"].setBuffer(atk6);
|
|
ASSERT(atk7.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/7.wav"));
|
|
soundMap["atk7"].setBuffer(atk7);
|
|
ASSERT(atk8.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/8.wav"));
|
|
soundMap["atk8"].setBuffer(atk8);
|
|
ASSERT(atk9.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/9.wav"));
|
|
soundMap["atk9"].setBuffer(atk9);
|
|
ASSERT(atk10.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/10.wav"));
|
|
soundMap["atk10"].setBuffer(atk10);
|
|
ASSERT(atk11.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/11.wav"));
|
|
soundMap["atk11"].setBuffer(atk11);
|
|
ASSERT(atk12.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/12.wav"));
|
|
soundMap["atk12"].setBuffer(atk12);
|
|
ASSERT(atk13.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/13.wav"));
|
|
soundMap["atk13"].setBuffer(atk13);
|
|
ASSERT(atk14.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/14.wav"));
|
|
soundMap["atk14"].setBuffer(atk14);
|
|
ASSERT(atk15.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/15.wav"));
|
|
soundMap["atk15"].setBuffer(atk15);
|
|
ASSERT(atk16.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/16.wav"));
|
|
soundMap["atk16"].setBuffer(atk16);
|
|
ASSERT(atk17.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/17.wav"));
|
|
soundMap["atk17"].setBuffer(atk17);
|
|
ASSERT(atk18.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/18.wav"));
|
|
soundMap["atk18"].setBuffer(atk18);
|
|
ASSERT(atk19.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/19.wav"));
|
|
soundMap["atk19"].setBuffer(atk19);
|
|
ASSERT(atk20.loadFromFile(WORK_DIR+"Resources/Sounds/Samples/20.wav"));
|
|
soundMap["atk20"].setBuffer(atk20);
|
|
ASSERT(fail1.loadFromFile(WORK_DIR+"Resources/Sounds/Fails/1.wav"));
|
|
soundMap["fail1"].setBuffer(fail1);
|
|
ASSERT(fail2.loadFromFile(WORK_DIR+"Resources/Sounds/Fails/2.wav"));
|
|
soundMap["fail2"].setBuffer(fail2);
|
|
ASSERT(fail3.loadFromFile(WORK_DIR+"Resources/Sounds/Fails/3.wav"));
|
|
soundMap["fail3"].setBuffer(fail3);
|
|
ASSERT(fail4.loadFromFile(WORK_DIR+"Resources/Sounds/Fails/4.wav"));
|
|
soundMap["fail4"].setBuffer(fail4);
|
|
ASSERT(fail5.loadFromFile(WORK_DIR+"Resources/Sounds/Fails/5.wav"));
|
|
soundMap["fail5"].setBuffer(fail5);
|
|
ASSERT(fail6.loadFromFile(WORK_DIR+"Resources/Sounds/Fails/6.wav"));
|
|
soundMap["fail6"].setBuffer(fail6);
|
|
ASSERT(note1.loadFromFile(WORK_DIR+"Resources/Sounds/Notes/1.wav"));
|
|
soundMap["note1"].setBuffer(note1);
|
|
ASSERT(note2.loadFromFile(WORK_DIR+"Resources/Sounds/Notes/2.wav"));
|
|
soundMap["note2"].setBuffer(note2);
|
|
ASSERT(note3.loadFromFile(WORK_DIR+"Resources/Sounds/Notes/3.wav"));
|
|
soundMap["note3"].setBuffer(note3);
|
|
ASSERT(note4.loadFromFile(WORK_DIR+"Resources/Sounds/Notes/4.wav"));
|
|
soundMap["note4"].setBuffer(note4);
|
|
|
|
}
|
|
|
|
|
|
|
|
void SoundManager::playSound(std::string name){
|
|
sit = soundMap.find(name);
|
|
if (sit != soundMap.end()) (sit->second).play();
|
|
}
|
|
|
|
void SoundManager::playMusic(std::string name){
|
|
mit = musicMap.find(name);
|
|
if (mit != musicMap.end()) (mit->second).play();
|
|
|
|
}
|
|
|
|
void SoundManager::stopMusic(std::string name){
|
|
mit = musicMap.find(name);
|
|
if (mit != musicMap.end()) (mit->second).stop();
|
|
|
|
}
|
|
|
|
void SoundManager::pauseMusic(std::string name){
|
|
mit = musicMap.find(name);
|
|
if (mit != musicMap.end()) (mit->second).pause();
|
|
|
|
}
|
|
|
|
void SoundManager::setLoop(bool loop, std::string name){
|
|
mit = musicMap.find(name);
|
|
if (mit != musicMap.end()) (mit->second).setLoop(loop);
|
|
|
|
}
|
|
|
|
void SoundManager::setPitch(float pitch, std::string name){
|
|
mit = musicMap.find(name);
|
|
if (mit != musicMap.end()) (mit->second).setPitch(pitch);
|
|
}
|
|
|
|
void SoundManager::setVolume(float volume, std::string name){
|
|
mit = musicMap.find(name);
|
|
if (mit != musicMap.end()) (mit->second).setVolume(volume);
|
|
}
|
|
|
|
void SoundManager::setPosition(float x, float y, float z, std::string name){
|
|
mit = musicMap.find(name);
|
|
if (mit != musicMap.end()) (mit->second).setPosition(x,y,z);
|
|
}
|
|
|
|
|
|
void SoundManager::setGlobalSoundVolumen(float volume) {
|
|
for (auto it = soundMap.begin(); it != soundMap.end(); ++it) (it->second).setVolume(volume);
|
|
}
|
|
|
|
void SoundManager::setGlobalMusicVolumen(float volume) {
|
|
for (auto it = musicMap.begin(); it != musicMap.end(); ++it) (it->second).setVolume(volume);
|
|
}
|