aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorFilippos Karapetis2011-12-28 15:59:58 +0200
committerFilippos Karapetis2011-12-28 15:59:58 +0200
commit89fb830be68e5a2bc50165f89d2ae2882167bf7e (patch)
treeb2754e5c7cdc4304eb39b7099c2ba2e39da91b42 /engines
parent2f634e9b2ca59b05c442895289793f9aaad1913a (diff)
downloadscummvm-rg350-89fb830be68e5a2bc50165f89d2ae2882167bf7e.tar.gz
scummvm-rg350-89fb830be68e5a2bc50165f89d2ae2882167bf7e.tar.bz2
scummvm-rg350-89fb830be68e5a2bc50165f89d2ae2882167bf7e.zip
DREAMWEB: Implemented the floppy version of monkSpeaking()
Diffstat (limited to 'engines')
-rw-r--r--engines/dreamweb/titles.cpp36
1 files changed, 25 insertions, 11 deletions
diff --git a/engines/dreamweb/titles.cpp b/engines/dreamweb/titles.cpp
index 56e3f9583f..3b78347fa7 100644
--- a/engines/dreamweb/titles.cpp
+++ b/engines/dreamweb/titles.cpp
@@ -36,8 +36,6 @@ void DreamWebEngine::endGame() {
}
void DreamWebEngine::monkSpeaking() {
- // FIXME: This is the CD version only.
-
_roomsSample = 35;
loadRoomsSample();
loadIntoTemp("DREAMWEB.G15");
@@ -46,19 +44,35 @@ void DreamWebEngine::monkSpeaking() {
workToScreen();
_volume = 7;
_volumeDirection = -1;
- _volumeTo = 5;
+ _volumeTo = isCD() ? 5 : 0;
playChannel0(12, 255);
fadeScreenUps();
hangOn(300);
- for (int i = 40; i <= 48; i++) {
- loadSpeech('T', 83, 'T', i);
-
- playChannel1(50 + 12);
-
- do {
- waitForVSync();
- } while (_channel1Playing != 255);
+ if (isCD()) {
+ for (int i = 40; i <= 48; i++) {
+ loadSpeech('T', 83, 'T', i);
+
+ playChannel1(50 + 12);
+
+ do {
+ waitForVSync();
+ } while (_channel1Playing != 255);
+ }
+ } else {
+ for (int i = 40; i <= 44; i++) {
+ uint8 printResult = 0;
+ const uint8 *string = getTextInFile1(i);
+ uint16 y = 140;
+
+ do {
+ printResult = printDirect(&string, 36, &y, 239, 239 & 1);
+ workToScreen();
+ clearWork();
+ showFrame(_tempGraphics, 160, 72, 0, 128); // show monk
+ hangOnP(240);
+ } while (printResult != 0);
+ }
}
_volumeDirection = 1;