diff options
author | Andrei Karas <akaras@inbox.ru> | 2011-01-13 16:41:34 +0200 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2011-01-13 16:41:34 +0200 |
commit | 6c885855b0c06bd7c4b6ab3574d8e2f3398ad97a (patch) | |
tree | b4371bafbfc998960fcfe7bae64b845ca1b2741f /src/sound.cpp | |
parent | eb201e566677f5ae55d1c443aa4254b99cec9e3e (diff) | |
download | manaplus-6c885855b0c06bd7c4b6ab3574d8e2f3398ad97a.tar.gz manaplus-6c885855b0c06bd7c4b6ab3574d8e2f3398ad97a.tar.bz2 manaplus-6c885855b0c06bd7c4b6ab3574d8e2f3398ad97a.tar.xz manaplus-6c885855b0c06bd7c4b6ab3574d8e2f3398ad97a.zip |
Remove playSfx duplicate function and add check for negative volume.
Diffstat (limited to 'src/sound.cpp')
-rw-r--r-- | src/sound.cpp | 24 |
1 files changed, 4 insertions, 20 deletions
diff --git a/src/sound.cpp b/src/sound.cpp index 080426a39..d71536cf2 100644 --- a/src/sound.cpp +++ b/src/sound.cpp @@ -262,25 +262,6 @@ void Sound::fadeOutMusic(int ms) } } -void Sound::playSfx(const std::string &path) -{ - if (!mInstalled || path.empty() || !mPlayBattle) - return; - - std::string tmpPath; - if (!path.find("sfx/")) - tmpPath = path; - else - tmpPath = paths.getValue("sfx", "sfx/") + path; - ResourceManager *resman = ResourceManager::getInstance(); - SoundEffect *sample = resman->getSoundEffect(tmpPath); - if (sample) - { - logger->log("Sound::playSfx() Playing: %s", path.c_str()); - sample->play(0, 120); - } -} - void Sound::playSfx(const std::string &path, int x, int y) { if (!mInstalled || path.empty() || !mPlayBattle) @@ -297,7 +278,7 @@ void Sound::playSfx(const std::string &path, int x, int y) { logger->log("Sound::playSfx() Playing: %s", path.c_str()); int vol = 120; - if (player_node) + if (player_node && (x > 0 || y > 0)) { int dx = player_node->getTileX() - x; int dy = player_node->getTileY() - y; @@ -306,6 +287,9 @@ void Sound::playSfx(const std::string &path, int x, int y) if (dy < 0) dy = -dy; int dist = dx > dy ? dx : dy; + if (dist * 8 > vol) + return; + vol -= dist * 8; } sample->play(0, vol); |