aboutsummaryrefslogtreecommitdiff
path: root/scumm/sound.cpp
diff options
context:
space:
mode:
authorPaweł Kołodziejski2003-12-25 11:14:05 +0000
committerPaweł Kołodziejski2003-12-25 11:14:05 +0000
commit1abfe5d63f11d954278b9d987bde78770629fe78 (patch)
tree0c462c9e2b489a26be63385b047b90c063ff2e9a /scumm/sound.cpp
parent9482d3b5a2c6516867011cf22ce07d83df8be1f9 (diff)
downloadscummvm-rg350-1abfe5d63f11d954278b9d987bde78770629fe78.tar.gz
scummvm-rg350-1abfe5d63f11d954278b9d987bde78770629fe78.tar.bz2
scummvm-rg350-1abfe5d63f11d954278b9d987bde78770629fe78.zip
start sound call directly digital imuse, only script part handled by mainloop of scumm script
svn-id: r11906
Diffstat (limited to 'scumm/sound.cpp')
-rw-r--r--scumm/sound.cpp27
1 files changed, 8 insertions, 19 deletions
diff --git a/scumm/sound.cpp b/scumm/sound.cpp
index bdb6bdc2d0..ca384df0d7 100644
--- a/scumm/sound.cpp
+++ b/scumm/sound.cpp
@@ -66,16 +66,9 @@ Sound::~Sound() {
}
void Sound::addSoundToQueue(int sound) {
- if (!(_scumm->_features & GF_DIGI_IMUSE)) {
- _scumm->VAR(_scumm->VAR_LAST_SOUND) = sound;
- _scumm->ensureResourceLoaded(rtSound, sound);
- addSoundToQueue2(sound);
- } else {
- // WARNING ! This may break something, maybe this sould be put inside if (_gameID == GID_FT || _gameID == GID_FTDEMO) ?
- // But why addSoundToQueue should not queue sound ?
- _scumm->ensureResourceLoaded(rtSound, sound);
- addSoundToQueue2(sound);
- }
+ _scumm->VAR(_scumm->VAR_LAST_SOUND) = sound;
+ _scumm->ensureResourceLoaded(rtSound, sound);
+ addSoundToQueue2(sound);
}
void Sound::addSoundToQueue2(int sound) {
@@ -107,17 +100,13 @@ void Sound::processSoundQues() {
data[j] = _soundQue[i + j];
i += num;
-#if 0
- debug(1, "processSoundQues(%d,%d,%d,%d,%d,%d,%d,%d,%d)",
- data[0] >> 8,
- data[0] & 0xFF,
- data[1], data[2], data[3], data[4], data[5], data[6], data[7]
- );
-#endif
-
+ debug(5, "processSoundQues(%d,%d,%d,%d,%d,%d,%d,%d,%d)",
+ data[0] >> 8, data[0] & 0xFF,
+ data[1], data[2], data[3], data[4], data[5], data[6], data[7]);
+
if (_scumm->_features & GF_DIGI_IMUSE) {
if (_scumm->_imuseDigital)
- _scumm->_imuseDigital->doCommand(data[0], data[1], data[2], data[3], data[4],
+ _scumm->_imuseDigital->parseScriptQues(data[0], data[1], data[2], data[3], data[4],
data[5], data[6], data[7]);
} else if (_scumm->_imuse) {
_scumm->VAR(_scumm->VAR_SOUNDRESULT) = (short)_scumm->_imuse->doCommand (num, data);