aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorVladimir Menshakov2011-06-23 23:30:12 +0400
committerVladimir Menshakov2011-06-23 23:30:12 +0400
commite30b41b28e536f18b3c5d2d323c0d808dc1328df (patch)
treeaa795ddebc332696a9396882b3e041708b60977e /engines
parent714976729d0badab3e7557f62036aac0b2e9cc4f (diff)
downloadscummvm-rg350-e30b41b28e536f18b3c5d2d323c0d808dc1328df.tar.gz
scummvm-rg350-e30b41b28e536f18b3c5d2d323c0d808dc1328df.tar.bz2
scummvm-rg350-e30b41b28e536f18b3c5d2d323c0d808dc1328df.zip
DREAMWEB: Added subtitle option
Diffstat (limited to 'engines')
-rw-r--r--engines/dreamweb/detection.cpp1
-rw-r--r--engines/dreamweb/dreamgen.cpp19
-rw-r--r--engines/dreamweb/dreamgen.h3
-rw-r--r--engines/dreamweb/dreamweb.cpp2
4 files changed, 20 insertions, 5 deletions
diff --git a/engines/dreamweb/detection.cpp b/engines/dreamweb/detection.cpp
index 18a2f899a8..f3d5b07835 100644
--- a/engines/dreamweb/detection.cpp
+++ b/engines/dreamweb/detection.cpp
@@ -85,6 +85,7 @@ bool DreamWebMetaEngine::hasFeature(MetaEngineFeature f) const {
bool DreamWeb::DreamWebEngine::hasFeature(EngineFeature f) const {
switch(f) {
case kSupportsRTL:
+ case kSupportsSubtitleOptions:
return true;
default:
return false;
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 462ae596f8..2485b5ad6a 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -13830,6 +13830,10 @@ void DreamGenContext::setuptimedtemp() {
_cmp(ah, 0);
if (flags.z())
goto notloadspeech3;
+ push(ax);
+ push(bx);
+ push(cx);
+ push(dx);
dl = 'T';
dh = ah;
cl = 'T';
@@ -13837,9 +13841,20 @@ void DreamGenContext::setuptimedtemp() {
loadspeech();
_cmp(data.byte(kSpeechloaded), 1);
if (!flags.z())
- goto notloadspeech3;
+ goto _tmp1;
al = 50+12;
playchannel1();
+_tmp1:
+ dx = pop();
+ cx = pop();
+ bx = pop();
+ ax = pop();
+ _cmp(data.byte(kSpeechloaded), 1);
+ if (!flags.z())
+ goto notloadspeech3;
+ _cmp(data.byte(kSubtitles), 1);
+ if (flags.z())
+ goto notloadspeech3;
return;
notloadspeech3:
_cmp(data.word(kTimecount), 0);
@@ -21942,7 +21957,7 @@ void DreamGenContext::__start() {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, };
+ 0x00, 0x00, 0x00, 0x00, };
ds.assign(src, src + sizeof(src));
dreamweb();
}
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index b012663ab6..5a60327a43 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -487,7 +487,8 @@ public:
const static uint16 kSavefiles = 8698;
const static uint16 kRecname = 8789;
const static uint16 kQuitrequested = 8802;
- const static uint16 kStak = 8803;
+ const static uint16 kSubtitles = 8803;
+ const static uint16 kStak = 8804;
const static uint16 kBlocktextdat = (0);
const static uint16 kPersonframes = (0);
const static uint16 kDebuglevel1 = (0);
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp
index 8be02dc90e..0b8c843e84 100644
--- a/engines/dreamweb/dreamweb.cpp
+++ b/engines/dreamweb/dreamweb.cpp
@@ -219,8 +219,6 @@ Common::Error DreamWebEngine::run() {
_loadSavefile = Common::ConfigManager::instance().getInt("save_slot");
getTimerManager()->installTimerProc(vSyncInterrupt, 1000000 / 70, this);
- //http://martin.hinner.info/vga/timing.html
-
_context.__start();
_context.data.byte(DreamGen::DreamGenContext::kQuitrequested) = 0;