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

tramboi bertrand_augereau at yahoo.fr
Tue Aug 16 23:52:14 CEST 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:
ca32fb2b34 DREAMWEB: Ported 'movemap' to C++


Commit: ca32fb2b34e36d5d02452d6f6c6c1c9f56f9a6b9
    https://github.com/scummvm/scummvm/commit/ca32fb2b34e36d5d02452d6f6c6c1c9f56f9a6b9
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-08-16T16:46:52-07:00

Commit Message:
DREAMWEB: Ported 'movemap' to C++

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



diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 937a8eb..4af0091 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -114,6 +114,7 @@ generator = cpp(context, "DreamGen", blacklist = [
 	'updatepeople',
 	'madmantext',
 	'madmode',
+	'movemap',
 	], skip_output = [
 	# These functions are processed but not output
 	'dreamweb',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 782de3c..ff15a3e 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -2615,40 +2615,6 @@ notfudge:
 	data.byte(kHavedoneobs) = 0;
 }
 
-void DreamGenContext::movemap() {
-	STACK_CHECK;
-	_cmp(ah, 32);
-	if (!flags.z())
-		goto notmapup2;
-	_sub(data.byte(kMapy), 20);
-	data.byte(kNowinnewroom) = 1;
-	return;
-notmapup2:
-	_cmp(ah, 16);
-	if (!flags.z())
-		goto notmapupspec;
-	_sub(data.byte(kMapy), 10);
-	data.byte(kNowinnewroom) = 1;
-	return;
-notmapupspec:
-	_cmp(ah, 8);
-	if (!flags.z())
-		goto notmapdownspec;
-	_add(data.byte(kMapy), 10);
-	data.byte(kNowinnewroom) = 1;
-	return;
-notmapdownspec:
-	_cmp(ah, 2);
-	if (!flags.z())
-		goto notmaprightspec;
-	_add(data.byte(kMapx), 11);
-	data.byte(kNowinnewroom) = 1;
-	return;
-notmaprightspec:
-	_sub(data.byte(kMapx), 11);
-	data.byte(kNowinnewroom) = 1;
-}
-
 void DreamGenContext::deleverything() {
 	STACK_CHECK;
 	al = data.byte(kMapysize);
@@ -19088,7 +19054,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
 		case addr_reelsonscreen: reelsonscreen(); break;
 		case addr_soundonreels: soundonreels(); break;
 		case addr_reconstruct: reconstruct(); break;
-		case addr_movemap: movemap(); break;
 		case addr_deleverything: deleverything(); break;
 		case addr_dumpeverything: dumpeverything(); break;
 		case addr_showpcx: showpcx(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 3a19f81..e5661aa 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -621,7 +621,6 @@ public:
 	static const uint16 addr_showpcx = 0xc1cc;
 	static const uint16 addr_dumpeverything = 0xc1c4;
 	static const uint16 addr_deleverything = 0xc1c0;
-	static const uint16 addr_movemap = 0xc1b4;
 	static const uint16 addr_reconstruct = 0xc1ac;
 	static const uint16 addr_soundonreels = 0xc1a8;
 	static const uint16 addr_reelsonscreen = 0xc1a0;
@@ -1892,7 +1891,7 @@ public:
 	void showman();
 	void readmouse2();
 	void newplace();
-	void movemap();
+	//void movemap();
 	void loadsample();
 	void usecardreader1();
 	void usecardreader2();
diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index 971a52f..2ecdac3 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -856,5 +856,26 @@ void DreamGenContext::madmode() {
 	data.byte(kPointermode) = 2;
 }
 
+void DreamGenContext::movemap(uint8 param) {
+	switch (param) {
+	case 32:
+		data.byte(kMapy) -= 20;
+		break;
+	case 16:
+		data.byte(kMapy) -= 10;
+		break;
+	case 8:
+		data.byte(kMapy) += 10;
+		break;
+	case 2:
+		data.byte(kMapx) += 11;
+		break;
+	default:
+		data.byte(kMapx) -= 11;
+		break;
+	}
+	data.byte(kNowinnewroom) = 1;
+}
+
 } /*namespace dreamgen */
 
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 2ea9779..c978d8d 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -879,8 +879,7 @@ void DreamGenContext::dealwithspecial(uint8 firstParam, uint8 secondParam) {
 	} else if (type == 6) {
 		data.byte(kNewlocation) = secondParam;
 	} else {
-		ah = secondParam;
-		movemap();
+		movemap(secondParam);
 	}
 }
 
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 7e7d97e..9886e1b 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -130,5 +130,6 @@
 	void updatepeople();
 	void madmantext();
 	void madmode();
+	void movemap(uint8 param);
 	bool isCD();
 






More information about the Scummvm-git-logs mailing list