Skip to content

Commit

Permalink
Merge pull request #728 from tobiatesan/fix_ogg
Browse files Browse the repository at this point in the history
WINTERMUTE: Correctly find .ogg version of .wav files
  • Loading branch information
somaen committed Apr 23, 2016
2 parents f7d32be + 0cfd058 commit 7af4a1a
Showing 1 changed file with 7 additions and 8 deletions.
15 changes: 7 additions & 8 deletions engines/wintermute/base/sound/base_sound_manager.cpp
Expand Up @@ -100,15 +100,14 @@ BaseSoundBuffer *BaseSoundMgr::addSound(const Common::String &filename, Audio::M
BaseSoundBuffer *sound;

Common::String useFilename = filename;
useFilename.toLowercase();
// try to switch WAV to OGG file (if available)
AnsiString ext = PathUtil::getExtension(filename);
if (StringUtil::compareNoCase(ext, "wav")) {
AnsiString path = PathUtil::getDirectoryName(filename);
AnsiString name = PathUtil::getFileNameWithoutExtension(filename);

AnsiString newFile = PathUtil::combine(path, name + "ogg");
if (BaseFileManager::getEngineInstance()->hasFile(newFile)) {
useFilename = newFile;
if (useFilename.hasSuffix(".wav")) {
Common::String oggFilename = useFilename;
oggFilename.erase(oggFilename.size() - 4);
oggFilename = oggFilename + ".ogg";
if (BaseFileManager::getEngineInstance()->hasFile(oggFilename)) {
useFilename = oggFilename;
}
}

Expand Down

0 comments on commit 7af4a1a

Please sign in to comment.