[Scummvm-cvs-logs] scummvm master -> f7fd8e0d0a1ae22a6dadc34133671e9e4f66bffb

tramboi bertrand_augereau at yahoo.fr
Mon Nov 21 17:53:23 CET 2011


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

Summary:
f7fd8e0d0a DREAMWEB: 'saveload' ported to C++


Commit: f7fd8e0d0a1ae22a6dadc34133671e9e4f66bffb
    https://github.com/scummvm/scummvm/commit/f7fd8e0d0a1ae22a6dadc34133671e9e4f66bffb
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-11-21T08:52:50-08:00

Commit Message:
DREAMWEB: 'saveload' ported to C++

Changed paths:
    devtools/tasmrecover/tasm-recover
    engines/dreamweb/dreamgen.cpp
    engines/dreamweb/dreamgen.h
    engines/dreamweb/saveload.cpp
    engines/dreamweb/stubs.h



diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 8b0797a..a0a2ba9 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -34,6 +34,7 @@ generator = cpp(context, "DreamGen", blacklist = [
 	'screenupdate',
 	'startup',
 	'startup1',
+	'saveload',
 	'switchryanon',
 	'switchryanoff',
 	'quickquit',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 0e242fc..507a8f8 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -10979,31 +10979,6 @@ void DreamGenContext::findtext1() {
 	si = ax;
 }
 
-void DreamGenContext::saveload() {
-	STACK_CHECK;
-	_cmp(data.word(kWatchingtime), 0);
-	if (!flags.z())
-		{ blank(); return; };
-	_cmp(data.byte(kPointermode), 2);
-	if (flags.z())
-		{ blank(); return; };
-	_cmp(data.byte(kCommandtype), 253);
-	if (flags.z())
-		goto alreadyops;
-	data.byte(kCommandtype) = 253;
-	al = 43;
-	commandonly();
-alreadyops:
-	ax = data.word(kMousebutton);
-	_cmp(ax, data.word(kOldbutton));
-	if (flags.z())
-		return /* (noops) */;
-	_and(ax, 1);
-	if (flags.z())
-		return /* (noops) */;
-	dosaveload();
-}
-
 void DreamGenContext::dosaveload() {
 	STACK_CHECK;
 	data.byte(kPointerframe) = 0;
@@ -15156,7 +15131,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
 		case addr_showdiarypage: showdiarypage(); break;
 		case addr_findtext1: findtext1(); break;
 		case addr_zoomonoff: zoomonoff(); break;
-		case addr_saveload: saveload(); break;
 		case addr_dosaveload: dosaveload(); break;
 		case addr_getbackfromops: getbackfromops(); break;
 		case addr_showmainops: showmainops(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index d003a6e..4311bab 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -181,7 +181,6 @@ public:
 	static const uint16 addr_showmainops = 0xc838;
 	static const uint16 addr_getbackfromops = 0xc834;
 	static const uint16 addr_dosaveload = 0xc830;
-	static const uint16 addr_saveload = 0xc82c;
 	static const uint16 addr_zoomonoff = 0xc828;
 	static const uint16 addr_findtext1 = 0xc824;
 	static const uint16 addr_showdiarypage = 0xc820;
@@ -1419,7 +1418,7 @@ public:
 	//void makebackob();
 	void middlepanel();
 	//void dumpwatch();
-	void saveload();
+	//void saveload();
 	void monitorlogo();
 	void loadposition();
 	//void wornerror();
diff --git a/engines/dreamweb/saveload.cpp b/engines/dreamweb/saveload.cpp
index 6faab55..398d71e 100644
--- a/engines/dreamweb/saveload.cpp
+++ b/engines/dreamweb/saveload.cpp
@@ -360,4 +360,18 @@ void DreamGenContext::oldtonames() {
 	memcpy(cs.ptr(kSavenames, 0), segRef(data.word(kBuffers)).ptr(kZoomspace, 0), 17*4);
 }
 
+void DreamGenContext::saveload() {
+	if (data.word(kWatchingtime) || (data.byte(kPointermode) == 2)) {
+		blank();
+		return;
+	}
+	if (data.byte(kCommandtype) != 253) {
+		data.byte(kCommandtype) = 253;
+		commandonly(43);
+	}
+	if ((data.word(kMousebutton) != data.word(kOldbutton)) && (data.word(kMousebutton) & 1))
+		dosaveload();
+}
+
 } /*namespace dreamgen */
+
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index c408ac2..fe76153 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -42,6 +42,7 @@
 	void loadtempcharset();
 	void loadtempcharset(const char *fileName);
 	Frame *tempCharset();
+	void saveload();
 	void printcurs();
 	void delcurs();
 	void hangoncurs(uint16 frameCount);






More information about the Scummvm-git-logs mailing list