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

bluegr md5 at scummvm.org
Fri Dec 9 17:55:43 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:
e2a92bff29 DREAMWEB: Port 'diarykeyp', 'diarykeyn' to C++


Commit: e2a92bff295639144157516d6c21711bf50eeda9
    https://github.com/scummvm/scummvm/commit/e2a92bff295639144157516d6c21711bf50eeda9
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2011-12-09T08:55:02-08:00

Commit Message:
DREAMWEB: Port 'diarykeyp', 'diarykeyn' to C++

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



diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 1c4690c..a238495 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -266,6 +266,8 @@ generator = cpp(context, "DreamGen", blacklist = [
 	'deltextline',
 	'delthisone',
 	'destselect',
+	'diarykeyp',
+	'diarykeyn',
 	'disablepath',
 	'disablesoundint',
 	'discops',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 0ffc434..77c21ac 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -5465,66 +5465,6 @@ notdumpdiary:
 	multiDump();
 }
 
-void DreamGenContext::diaryKeyP() {
-	STACK_CHECK;
-	_cmp(data.byte(kCommandtype), 214);
-	if (flags.z())
-		goto alreadykeyp;
-	data.byte(kCommandtype) = 214;
-	al = 23;
-	commandOnly();
-alreadykeyp:
-	_cmp(data.word(kMousebutton), 0);
-	if (flags.z())
-		return /* (notkeyp) */;
-	ax = data.word(kOldbutton);
-	_cmp(ax, data.word(kMousebutton));
-	if (flags.z())
-		return /* (notkeyp) */;
-	_cmp(data.byte(kPresscount), 0);
-	if (!flags.z())
-		return /* (notkeyp) */;
-	al = 16;
-	playChannel1();
-	data.byte(kPresscount) = 12;
-	data.byte(kPressed) = 'P';
-	_dec(data.byte(kDiarypage));
-	_cmp(data.byte(kDiarypage), -1);
-	if (!flags.z())
-		return /* (notkeyp) */;
-	data.byte(kDiarypage) = 11;
-}
-
-void DreamGenContext::diaryKeyN() {
-	STACK_CHECK;
-	_cmp(data.byte(kCommandtype), 213);
-	if (flags.z())
-		goto alreadykeyn;
-	data.byte(kCommandtype) = 213;
-	al = 23;
-	commandOnly();
-alreadykeyn:
-	_cmp(data.word(kMousebutton), 0);
-	if (flags.z())
-		return /* (notkeyn) */;
-	ax = data.word(kOldbutton);
-	_cmp(ax, data.word(kMousebutton));
-	if (flags.z())
-		return /* (notkeyn) */;
-	_cmp(data.byte(kPresscount), 0);
-	if (!flags.z())
-		return /* (notkeyn) */;
-	al = 16;
-	playChannel1();
-	data.byte(kPresscount) = 12;
-	data.byte(kPressed) = 'N';
-	_inc(data.byte(kDiarypage));
-	_cmp(data.byte(kDiarypage), 12);
-	if (!flags.z())
-		return /* (notkeyn) */;
-	data.byte(kDiarypage) = 0;
-}
-
 void DreamGenContext::showDiaryPage() {
 	STACK_CHECK;
 	al = 0;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 02195cb..853d8b4 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -591,9 +591,7 @@ public:
 	void reExFromInv();
 	void businessMan();
 	void outOfInv();
-	void diaryKeyP();
 	void transferMap();
-	void diaryKeyN();
 	void purgeAnItem();
 	void purgeALocation();
 	void notHeldError();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 7c388cb..01dc31e 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -4164,4 +4164,39 @@ void DreamGenContext::showGun() {
 	getRidOfTempText();
 }
 
+void DreamGenContext::diaryKeyP() {
+	if (data.byte(kCommandtype) != 214) {
+		data.byte(kCommandtype) = 214;
+		commandOnly(23);
+	}
+
+	if (!data.word(kMousebutton) ||
+		data.word(kOldbutton) == data.word(kMousebutton) ||
+		data.byte(kPresscount))
+		return; // notkeyp
+
+	playChannel1(16);
+	data.byte(kPresscount) = 12;
+	data.byte(kPressed) = 'P';
+	data.byte(kDiarypage)--;
+
+	if (data.byte(kDiarypage) == 0xFF)
+		data.byte(kDiarypage) = 11;
+}
+
+void DreamGenContext::diaryKeyN() {
+	if (data.byte(kCommandtype) != 213) {
+		data.byte(kCommandtype) = 213;
+		commandOnly(23);
+	}
+
+	playChannel1(16);
+	data.byte(kPresscount) = 12;
+	data.byte(kPressed) = 'N';
+	data.byte(kDiarypage)++;
+
+	if (data.byte(kDiarypage) == 12)
+		data.byte(kDiarypage) = 0;
+}
+
 } // End of namespace DreamGen
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 3930e06..abc7f4f 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -564,5 +564,7 @@
 	void endGame();
 	void monitorLogo();
 	void quitSymbol();
+	void diaryKeyP();
+	void diaryKeyN();
 
 #endif






More information about the Scummvm-git-logs mailing list