1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
|
#include "CommonDefHandler.h"
#include "FileSystem/FileSystem.h"
#include "FileSystem/FileHandler.h"
#include "Sound/Sound.h"
#include "LogOutput.h"
int CommonDefHandler::LoadSoundFile(const std::string& fileName)
{
const std::string extension = filesystem.GetExtension(fileName);
bool hasFile = false;
if (extension == "wav" || extension == "ogg")
{
CFileHandler raw(fileName);
if (raw.FileExists())
hasFile = true;
}
if (!sound->HasSoundItem(fileName) && !hasFile)
{
std::string soundFile = "sounds/" + fileName;
if (extension.empty()) {
// extension missing, try wav
soundFile += ".wav";
}
CFileHandler fh(soundFile);
if (fh.FileExists()) {
// we have a valid soundfile: store name, ID, and default volume
const int id = sound->GetSoundId(soundFile);
return id;
}
else
{
LogObject() << "Could not load sound from def: " << fileName;
return 0;
}
}
else
{
const int id = sound->GetSoundId(fileName);
return id;
}
}
|