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

digitall digitall at scummvm.org
Sun Dec 25 00:00:47 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:
a1ffa11620 DREAMWEB: Port 'getpersontext' to C++


Commit: a1ffa11620fcd0ba48b5cc2c1ca505ca4baab436
    https://github.com/scummvm/scummvm/commit/a1ffa11620fcd0ba48b5cc2c1ca505ca4baab436
Author: D G Turner (digitall at scummvm.org)
Date: 2011-12-24T15:00:11-08:00

Commit Message:
DREAMWEB: Port 'getpersontext' to C++

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



diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 4e8a0c9..9cacf01 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -483,6 +483,7 @@ generator = cpp(context, "DreamGen", blacklist = [
 	'getobtextstart',
 	'getopenedsize',
 	'getpersframe',
+	'getpersontext',
 	'getreelframeax',
 	'getreelstart',
 	'getridofall',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 487839c..e321c50 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -975,20 +975,6 @@ cantpurge2:
 		goto lookforpurge2;
 }
 
-void DreamGenContext::getPersonText() {
-	STACK_CHECK;
-	ah = 0;
-	cx = 64*2;
-	_mul(cx);
-	si = ax;
-	es = data.word(kPeople);
-	_add(si, (0+24));
-	cx = (0+24+(1026*2));
-	ax = es.word(si);
-	_add(ax, cx);
-	si = ax;
-}
-
 void DreamGenContext::doSomeTalk() {
 	STACK_CHECK;
 dospeech:
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index f6399b4..7717c7f 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -454,7 +454,6 @@ public:
 	void __start();
 #include "stubs.h" // Allow hand-reversed functions to have a signature different than void f()
 
-	void getPersonText();
 	void checkObjectSize();
 	void doSomeTalk();
 	void outOfOpen();
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 5f777e4..921b8ed 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -99,6 +99,7 @@
 	uint16 getPersFrame(uint8 index);
 	void convIcons();
 	void startTalk();
+	void getPersonText(uint8 index);
 	void examineOb(bool examineAgain = true);
 	void dumpWatch();
 	void transferText();
diff --git a/engines/dreamweb/talk.cpp b/engines/dreamweb/talk.cpp
index 20ac58d..c0622f7 100644
--- a/engines/dreamweb/talk.cpp
+++ b/engines/dreamweb/talk.cpp
@@ -87,8 +87,7 @@ uint16 DreamGenContext::getPersFrame(uint8 index) {
 void DreamGenContext::startTalk() {
 	data.byte(kTalkmode) = 0;
 
-	al = (data.byte(kCharacter) & 0x7F);
-	getPersonText();
+	getPersonText(data.byte(kCharacter) & 0x7F);
 	const uint8 *str = es.ptr(si, 0);
 	uint16 y;
 
@@ -109,7 +108,10 @@ void DreamGenContext::startTalk() {
 	}
 }
 
-// TODO: put Getpersontext here
+void DreamGenContext::getPersonText(uint8 index) {
+	es = data.word(kPeople);
+	si = es.word((index * 64 * 2) + 24) + (1026 * 2) + 24;
+}
 
 void DreamGenContext::moreTalk() {
 	if (data.byte(kTalkmode) != 0) {






More information about the Scummvm-git-logs mailing list