[Scummvm-cvs-logs] scummvm master -> 4ede98d748d1d3a52714cf84da17ccd83b50d35b

whoozle whoozle at yandex.ru
Sun Jun 19 13:52:00 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:
41159c68ab DREAMWEB: removed hack from openfile
4ede98d748 DREAMWEB: Removed getback = 4 hack, added clean exit from every menus and credits


Commit: 41159c68ab35abea23e95974cedc286f530b11c9
    https://github.com/scummvm/scummvm/commit/41159c68ab35abea23e95974cedc286f530b11c9
Author: Vladimir Menshakov (whoozle at yandex.ru)
Date: 2011-06-19T04:50:22-07:00

Commit Message:
DREAMWEB: removed hack from openfile

Changed paths:
    engines/dreamweb/stubs.cpp



diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index be6dab5..7eeeabe 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -162,10 +162,6 @@ void DreamGenContext::openfilefromc() {
 
 void DreamGenContext::openfile() {
 	Common::String name = getFilename(*this);
-	if (name.empty()) { //fixme: this happens if you quit from new game/load screen
-		flags._c = true;
-		return;
-	}
 	debug(1, "opening file: %s", name.c_str());
 	engine->openFile(name);
 	cs.word(kHandle) = 1; //only one handle
@@ -361,6 +357,7 @@ void DreamGenContext::generalerror() {
 }
 
 void DreamGenContext::dosreturn() {
+
 	_cmp(data.byte(kCommandtype), 250);
 	if (!flags.z()) {
 		data.byte(kCommandtype) = 250;


Commit: 4ede98d748d1d3a52714cf84da17ccd83b50d35b
    https://github.com/scummvm/scummvm/commit/4ede98d748d1d3a52714cf84da17ccd83b50d35b
Author: Vladimir Menshakov (whoozle at yandex.ru)
Date: 2011-06-19T04:50:22-07:00

Commit Message:
DREAMWEB: Removed getback = 4 hack, added clean exit from every menus and credits

Changed paths:
    devtools/tasmrecover/dreamweb/dreamweb.asm
    devtools/tasmrecover/dreamweb/saveload.asm
    devtools/tasmrecover/dreamweb/titles.asm
    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 5d2a60a..a3c165a 100644
--- a/devtools/tasmrecover/dreamweb/dreamweb.asm
+++ b/devtools/tasmrecover/dreamweb/dreamweb.asm
@@ -135,13 +135,24 @@ Dreamweb	proc	near
 dodecisions:	call	cls
 	call	setmode
 	call	decide
+
+	cmp quitrequested, 0
+	jnz exitgame
+
 	cmp	getback,4
 	jz	mainloop
 
 	call	titles
+
+	cmp quitrequested, 0
+	jnz exitgame
+
 	call	credits
 
-playgame:	call	clearchanges
+playgame:
+	cmp quitrequested, 0
+	jnz exitgame
+	call	clearchanges
 	call	setmode
 	call	loadpalfromiff
 	mov	location,255
@@ -196,9 +207,8 @@ alreadyloaded:	mov	newlocation,255
 
 mainloop:
 	cmp quitrequested, 0
-	jz $1
-	ret
-$1:
+	jnz exitgame
+
 	call	screenupdate
 	cmp	wongame,0
 	jnz	endofgame
@@ -240,7 +250,9 @@ endofgame:	call	clearbeforeload
 	call	hangon
 	call	endgame
 	jmp	quickquit2
-	
+
+exitgame:
+	ret
 	endp
 
 
diff --git a/devtools/tasmrecover/dreamweb/saveload.asm b/devtools/tasmrecover/dreamweb/saveload.asm
index f10d871..9a34a76 100644
--- a/devtools/tasmrecover/dreamweb/saveload.asm
+++ b/devtools/tasmrecover/dreamweb/saveload.asm
@@ -109,7 +109,11 @@ restartops:	call	showopbox
 	call	showmainops
 	call	worktoscreenm
 donefirstops:	mov	getback,0
-waitops:	call	readmouse
+waitops:	
+	cmp quitrequested, 0
+	jnz justret
+
+	call	readmouse
 	call	showpointer
 	call	vsync
 	call	dumppointer
@@ -260,7 +264,11 @@ doload: 	mov	loadingorsave,1
 	call	namestoold
 	mov	getback,0
 
-loadops:	call	delpointer
+loadops:	
+	cmp quitrequested, 0
+	jnz quitloaded
+
+	call	delpointer
 	call	readmouse
 	call	showpointer
 	call	vsync
@@ -354,7 +362,11 @@ dodiscops:	call	scanfornames
 	call	worktoscreenm
 
 	mov	getback,0
-discopsloop:	call	delpointer
+discopsloop:
+	cmp quitrequested, 0
+	jnz quitdiscops
+
+	call	delpointer
 	call	readmouse
 	call	showpointer
 	call	vsync
@@ -364,6 +376,7 @@ discopsloop:	call	delpointer
 	call	checkcoords
 	cmp	getback,0
 	jz	discopsloop
+quitdiscops:
 	ret
 
 discopslist:	dw	opsx+59,opsx+114,opsy+30,opsy+76,loadgame
@@ -411,7 +424,11 @@ dosave: 	mov	loadingorsave,2
 
 	mov	getback,0
 
-saveops:	call	delpointer
+saveops:
+	cmp quitrequested, 0
+	jnz quitsavegame
+
+	call	delpointer
 	call	checkinput
 	call	readmouse
 	call	showpointer
@@ -423,6 +440,7 @@ saveops:	call	delpointer
 	call	checkcoords
 	cmp	getback,0
 	jz	saveops
+quitsavegame:
 	ret
 
 savelist:	dw	opsx+176,opsx+192,opsy+60,opsy+76,getbacktoops
@@ -1398,7 +1416,12 @@ Decide	proc	near
 	call	fadescreenup
 	mov	getback,0
 
-waitdecide:	call	readmouse
+waitdecide:	
+	cmp quitrequested, 0
+	jz $1
+	ret
+$1:
+	call	readmouse
 	call	showpointer
 	call	vsync
 	call	dumppointer
@@ -1482,6 +1505,8 @@ alreadyloadold:	mov	ax,mousebutton
 	call	doload
 	cmp	getback,4
 	jz	noloadold
+	cmp quitrequested, 0
+	jnz noloadold
 	call	showdecisions
 	call	worktoscreenm
 	mov	getback,0
diff --git a/devtools/tasmrecover/dreamweb/titles.asm b/devtools/tasmrecover/dreamweb/titles.asm
index a47f31a..acaeefa 100644
--- a/devtools/tasmrecover/dreamweb/titles.asm
+++ b/devtools/tasmrecover/dreamweb/titles.asm
@@ -9,7 +9,10 @@ Titles	proc	near
 	else
 	call	clearpalette
 	call	biblequote
+	cmp quitrequested, 0
+	jnz titlesearly
 	call	intro
+titlesearly:
 	ret
 	endif
 
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 35721d3..7c9c881 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -4165,11 +4165,6 @@ deloneloop:
 		goto deloneloop;
 }
 
-void DreamGenContext::width160() {
-	STACK_CHECK;
-	_movsw(161);
-}
-
 void DreamGenContext::doblocks() {
 	STACK_CHECK;
 	es = data.word(kWorkspace);
@@ -5169,6 +5164,9 @@ void DreamGenContext::titles() {
 	STACK_CHECK;
 	clearpalette();
 	biblequote();
+	_cmp(data.byte(kQuitrequested),  0);
+	if (!flags.z())
+		return /* (titlesearly) */;
 	intro();
 }
 
@@ -15958,6 +15956,9 @@ restartops:
 donefirstops:
 	data.byte(kGetback) = 0;
 waitops:
+	_cmp(data.byte(kQuitrequested),  0);
+	if (!flags.z())
+		goto justret;
 	readmouse();
 	showpointer();
 	vsync();
@@ -16083,6 +16084,9 @@ doload:
 	namestoold();
 	data.byte(kGetback) = 0;
 loadops:
+	_cmp(data.byte(kQuitrequested),  0);
+	if (!flags.z())
+		return /* (quitloaded) */;
 	delpointer();
 	readmouse();
 	showpointer();
@@ -16164,6 +16168,9 @@ dodiscops:
 	worktoscreenm();
 	data.byte(kGetback) = 0;
 discopsloop:
+	_cmp(data.byte(kQuitrequested),  0);
+	if (!flags.z())
+		return /* (quitdiscops) */;
 	delpointer();
 	readmouse();
 	showpointer();
@@ -16210,6 +16217,9 @@ dosave:
 	data.word(kBufferout) = 0;
 	data.byte(kGetback) = 0;
 saveops:
+	_cmp(data.byte(kQuitrequested),  0);
+	if (!flags.z())
+		return /* (quitsavegame) */;
 	delpointer();
 	checkinput();
 	readmouse();
@@ -16833,6 +16843,11 @@ void DreamGenContext::decide() {
 	fadescreenup();
 	data.byte(kGetback) = 0;
 waitdecide:
+	_cmp(data.byte(kQuitrequested),  0);
+	if (flags.z())
+		goto _tmp1;
+	return;
+_tmp1:
 	readmouse();
 	showpointer();
 	vsync();
@@ -16895,6 +16910,9 @@ void DreamGenContext::doload() {
 	namestoold();
 	data.byte(kGetback) = 0;
 loadops:
+	_cmp(data.byte(kQuitrequested),  0);
+	if (!flags.z())
+		return /* (quitloaded) */;
 	delpointer();
 	readmouse();
 	showpointer();
@@ -16945,6 +16963,9 @@ alreadyloadold:
 	_cmp(data.byte(kGetback), 4);
 	if (flags.z())
 		return /* (noloadold) */;
+	_cmp(data.byte(kQuitrequested),  0);
+	if (!flags.z())
+		return /* (noloadold) */;
 	showdecisions();
 	worktoscreenm();
 	data.byte(kGetback) = 0;
@@ -21319,12 +21340,21 @@ dodecisions:
 	cls();
 	setmode();
 	decide();
+	_cmp(data.byte(kQuitrequested),  0);
+	if (!flags.z())
+		return /* (exitgame) */;
 	_cmp(data.byte(kGetback), 4);
 	if (flags.z())
 		goto mainloop;
 	titles();
+	_cmp(data.byte(kQuitrequested),  0);
+	if (!flags.z())
+		return /* (exitgame) */;
 	credits();
 playgame:
+	_cmp(data.byte(kQuitrequested),  0);
+	if (!flags.z())
+		return /* (exitgame) */;
 	clearchanges();
 	setmode();
 	loadpalfromiff();
@@ -21364,10 +21394,8 @@ loadnew:
 	data.byte(kCommandtype) = 255;
 mainloop:
 	_cmp(data.byte(kQuitrequested),  0);
-	if (flags.z())
-		goto _tmp1;
-	return;
-_tmp1:
+	if (!flags.z())
+		return /* (exitgame) */;
 	screenupdate();
 	_cmp(data.byte(kWongame), 0);
 	if (!flags.z())
@@ -22120,7 +22148,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
 		case 0xc20c: doshake(); break;
 		case 0xc210: zoom(); break;
 		case 0xc214: delthisone(); break;
-		case 0xc224: width160(); break;
 		case 0xc228: doblocks(); break;
 		case 0xc22c: showframe(); break;
 		case 0xc230: frameoutv(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 94b7607..d7cf467 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -964,7 +964,6 @@ public:
 	void createpanel();
 	void turnpathon();
 	void showmainops();
-	void width160dosreturn();
 	void madmanstelly();
 	void constant();
 	void loadroomssample();
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp
index 0dc25af..7e1b983 100644
--- a/engines/dreamweb/dreamweb.cpp
+++ b/engines/dreamweb/dreamweb.cpp
@@ -102,7 +102,6 @@ void DreamWebEngine::waitForVSync() {
 void DreamWebEngine::quit() {
 	_context.data.byte(DreamGen::DreamGenContext::kQuitrequested) = 1;
 	_context.data.byte(DreamGen::DreamGenContext::kLasthardkey) = 1;
-	_context.data.byte(DreamGen::DreamGenContext::kGetback) = 4;
 }
 
 void DreamWebEngine::processEvents() {






More information about the Scummvm-git-logs mailing list