aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/talk.cpp
diff options
context:
space:
mode:
authorAlyssa Milburn2012-08-28 15:39:00 +0200
committerAlyssa Milburn2012-08-28 15:54:12 +0200
commit31801137b5c6908edd76f357b3f29b07e9e3be84 (patch)
tree33e973717545ae27da6ba4996d0d8fe1bcd437b3 /engines/dreamweb/talk.cpp
parent35fd91793b34b72624a89f2a76f45bc8e59020d2 (diff)
parent6ab8db638e4a1d547ee67db067b5d6c3d6c940a4 (diff)
downloadscummvm-rg350-31801137b5c6908edd76f357b3f29b07e9e3be84.tar.gz
scummvm-rg350-31801137b5c6908edd76f357b3f29b07e9e3be84.tar.bz2
scummvm-rg350-31801137b5c6908edd76f357b3f29b07e9e3be84.zip
Merge remote-tracking branch 'origin/master' into tony
Conflicts: common/coroutines.cpp common/coroutines.h devtools/create_project/msbuild.cpp devtools/create_project/visualstudio.cpp
Diffstat (limited to 'engines/dreamweb/talk.cpp')
-rw-r--r--engines/dreamweb/talk.cpp32
1 files changed, 15 insertions, 17 deletions
diff --git a/engines/dreamweb/talk.cpp b/engines/dreamweb/talk.cpp
index 0f59cad895..2629c23355 100644
--- a/engines/dreamweb/talk.cpp
+++ b/engines/dreamweb/talk.cpp
@@ -20,6 +20,7 @@
*
*/
+#include "dreamweb/sound.h"
#include "dreamweb/dreamweb.h"
namespace DreamWeb {
@@ -52,7 +53,7 @@ void DreamWebEngine::talk() {
readMouse();
animPointer();
showPointer();
- vSync();
+ waitForVSync();
dumpPointer();
dumpTextLine();
_getBack = 0;
@@ -67,9 +68,8 @@ void DreamWebEngine::talk() {
redrawMainScrn();
workToScreenM();
if (_speechLoaded) {
- cancelCh1();
- _volumeDirection = -1;
- _volumeTo = 0;
+ _sound->cancelCh1();
+ _sound->volumeChange(0, -1);
}
}
@@ -99,12 +99,10 @@ void DreamWebEngine::startTalk() {
printDirect(&str, 66, &y, 241, true);
if (hasSpeech()) {
- _speechLoaded = false;
- loadSpeech('R', _realLocation, 'C', 64*(_character & 0x7F));
+ _speechLoaded = _sound->loadSpeech('R', _realLocation, 'C', 64*(_character & 0x7F));
if (_speechLoaded) {
- _volumeDirection = 1;
- _volumeTo = 6;
- playChannel1(50 + 12);
+ _sound->volumeChange(6, 1);
+ _sound->playChannel1(62);
}
}
}
@@ -155,9 +153,9 @@ void DreamWebEngine::doSomeTalk() {
printDirect(str, 164, 64, 144, false);
- loadSpeech('R', _realLocation, 'C', (64 * (_character & 0x7F)) + _talkPos);
+ _speechLoaded = _sound->loadSpeech('R', _realLocation, 'C', (64 * (_character & 0x7F)) + _talkPos);
if (_speechLoaded)
- playChannel1(62);
+ _sound->playChannel1(62);
_pointerMode = 3;
workToScreenM();
@@ -181,9 +179,9 @@ void DreamWebEngine::doSomeTalk() {
convIcons();
printDirect(str, 48, 128, 144, false);
- loadSpeech('R', _realLocation, 'C', (64 * (_character & 0x7F)) + _talkPos);
+ _speechLoaded = _sound->loadSpeech('R', _realLocation, 'C', (64 * (_character & 0x7F)) + _talkPos);
if (_speechLoaded)
- playChannel1(62);
+ _sound->playChannel1(62);
_pointerMode = 3;
workToScreenM();
@@ -211,7 +209,7 @@ bool DreamWebEngine::hangOnPQ() {
readMouse();
animPointer();
showPointer();
- vSync();
+ waitForVSync();
dumpPointer();
dumpTextLine();
checkCoords(quitList);
@@ -220,11 +218,11 @@ bool DreamWebEngine::hangOnPQ() {
// Quit conversation
delPointer();
_pointerMode = 0;
- cancelCh1();
+ _sound->cancelCh1();
return true;
}
- if (_speechLoaded && _channel1Playing == 255) {
+ if (_speechLoaded && !_sound->isChannel1Playing()) {
speechFlag++;
if (speechFlag == 40)
break;
@@ -237,7 +235,7 @@ bool DreamWebEngine::hangOnPQ() {
}
void DreamWebEngine::redes() {
- if (_channel1Playing != 255 || _talkMode != 2) {
+ if (_sound->isChannel1Playing() || _talkMode != 2) {
blank();
return;
}