[Scummvm-cvs-logs] scummvm master -> 8148f4d81d250ae66d5ac015161227fa1f78814e

whoozle whoozle at yandex.ru
Thu Jun 23 21:55:03 CEST 2011


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
e30b41b28e DREAMWEB: Added subtitle option
8148f4d81d DREAMWEB: Added ui settings integration


Commit: e30b41b28e536f18b3c5d2d323c0d808dc1328df
    https://github.com/scummvm/scummvm/commit/e30b41b28e536f18b3c5d2d323c0d808dc1328df
Author: Vladimir Menshakov (whoozle at yandex.ru)
Date: 2011-06-23T12:30:12-07:00

Commit Message:
DREAMWEB: Added subtitle option

Changed paths:
    devtools/tasmrecover/dreamweb/dreamweb.asm
    devtools/tasmrecover/dreamweb/use.asm
    engines/dreamweb/detection.cpp
    engines/dreamweb/dreamgen.cpp
    engines/dreamweb/dreamgen.h
    engines/dreamweb/dreamweb.cpp



diff --git a/devtools/tasmrecover/dreamweb/dreamweb.asm b/devtools/tasmrecover/dreamweb/dreamweb.asm
index d357c5c..edecad7 100644
--- a/devtools/tasmrecover/dreamweb/dreamweb.asm
+++ b/devtools/tasmrecover/dreamweb/dreamweb.asm
@@ -6237,6 +6237,7 @@ savefiles	db	"DREAMWEB.D00",0
 Recname	db	"DREAMWEB.DEM",0
 
 Quitrequested	db 0
+Subtitles		db 0
 
 
 ;-------------------------------------------------------End of code segment----
diff --git a/devtools/tasmrecover/dreamweb/use.asm b/devtools/tasmrecover/dreamweb/use.asm
index 508e8bd..08debfc 100644
--- a/devtools/tasmrecover/dreamweb/use.asm
+++ b/devtools/tasmrecover/dreamweb/use.asm
@@ -3293,18 +3293,34 @@ Setuptimedtemp	proc	near
 	if	cd
 	cmp	ah,0
 	jz	notloadspeech3
+	push ax
+	push bx
+	push cx
+	push dx
 	mov	dl,"T"
 	mov	dh,ah
-               	mov	cl,"T"
+	mov	cl,"T"
 	mov	ah,0
 	call	loadspeech
 	cmp	speechloaded,1
-	jnz	notloadspeech3
+	jnz	$1
 	mov	al,50+12
 	call	playchannel1
+$1:
+	pop dx
+	pop cx
+	pop bx
+	pop ax
+
+	cmp	speechloaded,1
+	jnz	notloadspeech3 ; failed to load speech
+	cmp	subtitles, 1
+	jz	notloadspeech3
 	ret
+
 notloadspeech3:
-	endif
+	endif	;if cd
+
 	cmp	timecount,0
 	jnz	cantsetup2
 	mov	timedy,bh
diff --git a/engines/dreamweb/detection.cpp b/engines/dreamweb/detection.cpp
index 18a2f89..f3d5b07 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 462ae59..2485b5a 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 b012663..5a60327 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 8be02dc..0b8c843 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;
 


Commit: 8148f4d81d250ae66d5ac015161227fa1f78814e
    https://github.com/scummvm/scummvm/commit/8148f4d81d250ae66d5ac015161227fa1f78814e
Author: Vladimir Menshakov (whoozle at yandex.ru)
Date: 2011-06-23T12:52:59-07:00

Commit Message:
DREAMWEB: Added ui settings integration

Changed paths:
    engines/dreamweb/dreamweb.cpp



diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp
index 0b8c843..590f071 100644
--- a/engines/dreamweb/dreamweb.cpp
+++ b/engines/dreamweb/dreamweb.cpp
@@ -468,6 +468,9 @@ void DreamWebEngine::playSound(uint8 channel, uint8 id, uint8 loops) {
 }
 
 bool DreamWebEngine::loadSpeech(const Common::String &filename) {
+	if (ConfMan.getBool("speech_mute"))
+		return false;
+
 	Common::File file;
 	if (!file.open("speech/" + filename))
 		return false;
@@ -483,6 +486,7 @@ bool DreamWebEngine::loadSpeech(const Common::String &filename) {
 
 
 void DreamWebEngine::soundHandler() {
+	_context.data.byte(_context.kSubtitles) = ConfMan.getBool("subtitles");
 	_context.push(_context.ax);
 	_context.volumeadjust();
 	_context.ax = _context.pop();






More information about the Scummvm-git-logs mailing list