diff options
author | Filippos Karapetis | 2011-12-28 15:59:58 +0200 |
---|---|---|
committer | Filippos Karapetis | 2011-12-28 15:59:58 +0200 |
commit | 89fb830be68e5a2bc50165f89d2ae2882167bf7e (patch) | |
tree | b2754e5c7cdc4304eb39b7099c2ba2e39da91b42 /engines | |
parent | 2f634e9b2ca59b05c442895289793f9aaad1913a (diff) | |
download | scummvm-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.cpp | 36 |
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; |