aboutsummaryrefslogtreecommitdiff
path: root/engines/griffon/sound.cpp
diff options
context:
space:
mode:
authorEugene Sandulenko2019-09-02 22:39:48 +0200
committerEugene Sandulenko2019-11-13 22:07:08 +0100
commit23bd7eddf349414865f71088a77e12fcb2469d03 (patch)
tree06c9c00603ab8b186cd3b1ba4e71ba30d1eff7af /engines/griffon/sound.cpp
parent1795573d13299c74ba22ea5311cd58662267bb64 (diff)
downloadscummvm-rg350-23bd7eddf349414865f71088a77e12fcb2469d03.tar.gz
scummvm-rg350-23bd7eddf349414865f71088a77e12fcb2469d03.tar.bz2
scummvm-rg350-23bd7eddf349414865f71088a77e12fcb2469d03.zip
GRIFFON: Move another method to sound.cpp
Diffstat (limited to 'engines/griffon/sound.cpp')
-rw-r--r--engines/griffon/sound.cpp57
1 files changed, 57 insertions, 0 deletions
diff --git a/engines/griffon/sound.cpp b/engines/griffon/sound.cpp
index a82cf4a62a..eaa99c3038 100644
--- a/engines/griffon/sound.cpp
+++ b/engines/griffon/sound.cpp
@@ -42,6 +42,7 @@
#include "common/system.h"
#include "griffon/griffon.h"
+#include "griffon/config.h"
namespace Griffon {
@@ -198,5 +199,61 @@ void GriffonEngine::setupAudio() {
_sfx[14] = cacheSound("sfx/beep.ogg");
}
+void GriffonEngine::updateMusic() {
+ DataChunk *iplaysound = NULL;
+
+ if (config.music) {
+
+ // if(_curmap > 5 && _curmap < 42) iplaysound = macademy;
+ // if(_curmap > 47) iplaysound = _mgardens;
+ iplaysound = _mgardens;
+ if (_roomlock)
+ iplaysound = _mboss;
+
+ if (iplaysound == _mboss && _pboss)
+ iplaysound = NULL;
+ if (iplaysound == _mgardens && _pgardens)
+ iplaysound = NULL;
+
+ if (iplaysound != NULL) {
+ haltSoundChannel(_musicchannel);
+
+ _pboss = false;
+ _pgardens = false;
+ _ptown = false;
+ _pacademy = false;
+ _pcitadel = false;
+
+ if (iplaysound == _mboss)
+ _pboss = true;
+ if (iplaysound == _mgardens)
+ _pgardens = true;
+
+ _musicchannel = playSound(iplaysound, true);
+ setChannelVolume(_musicchannel, config.musicvol);
+ } else {
+ if (!isSoundChannelPlaying(_musicchannel)) {
+ _loopseta += 1;
+ if (_loopseta == 4)
+ _loopseta = 0;
+
+ if (_pgardens) {
+ haltSoundChannel(_musicchannel);
+ if (_pgardens && _loopseta == 0)
+ _musicchannel = playSound(_mgardens);
+ if (_pgardens && _loopseta == 1)
+ _musicchannel = playSound(_mgardens2);
+ if (_pgardens && _loopseta == 2)
+ _musicchannel = playSound(_mgardens3);
+ if (_pgardens && _loopseta == 3)
+ _musicchannel = playSound(_mgardens4);
+ }
+
+ setChannelVolume(_musicchannel, config.musicvol);
+ }
+ }
+ }
+}
+
} // end of namespace Griffon