[Scummvm-cvs-logs] scummvm master -> 721b828354018625fda891b39cc88fb298d99033

tramboi bertrand_augereau at yahoo.fr
Sun Nov 20 14:50:53 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:
721b828354 DREAMWEB:'monmessage' ported to C++


Commit: 721b828354018625fda891b39cc88fb298d99033
    https://github.com/scummvm/scummvm/commit/721b828354018625fda891b39cc88fb298d99033
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-11-20T07:44:24-08:00

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

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



diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 4952bba..e39ddf2 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -250,6 +250,7 @@ generator = cpp(context, "DreamGen", blacklist = [
 	'showcurrentfile',
 	'input',
 	'monprint',
+	'monmessage',
 	'randomaccess',
 	'accesslighton',
 	'accesslightoff',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 88917ec..053824b 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -6784,23 +6784,6 @@ notnewlogo:
 	printlogo();
 }
 
-void DreamGenContext::monmessage() {
-	STACK_CHECK;
-	es = data.word(kTextfile1);
-	bx = (66*2);
-	cl = al;
-	ch = 0;
-monmessageloop:
-	al = es.byte(bx);
-	_inc(bx);
-	_cmp(al, '+');
-	if (!flags.z())
-		goto monmessageloop;
-	if (--cx)
-		goto monmessageloop;
-	monprint();
-}
-
 void DreamGenContext::processtrigger() {
 	STACK_CHECK;
 	_cmp(data.byte(kLasttrigger), '1');
@@ -15192,7 +15175,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
 		case addr_searchforstring: searchforstring(); break;
 		case addr_parser: parser(); break;
 		case addr_monitorlogo: monitorlogo(); break;
-		case addr_monmessage: monmessage(); break;
 		case addr_processtrigger: processtrigger(); break;
 		case addr_triggermessage: triggermessage(); break;
 		case addr_useobject: useobject(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index ea86f82..d066ef3 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -343,7 +343,6 @@ public:
 	static const uint16 addr_useobject = 0xc580;
 	static const uint16 addr_triggermessage = 0xc574;
 	static const uint16 addr_processtrigger = 0xc570;
-	static const uint16 addr_monmessage = 0xc56c;
 	static const uint16 addr_monitorlogo = 0xc560;
 	static const uint16 addr_parser = 0xc554;
 	static const uint16 addr_searchforstring = 0xc550;
@@ -1919,7 +1918,7 @@ public:
 	void intromusic();
 	void quitkey();
 	void processtrigger();
-	void monmessage();
+	//void monmessage();
 	void volumeadjust();
 	void randomnum2();
 	void loadsecondsample();
diff --git a/engines/dreamweb/monitor.cpp b/engines/dreamweb/monitor.cpp
index a5eb067..d48bc0a 100644
--- a/engines/dreamweb/monitor.cpp
+++ b/engines/dreamweb/monitor.cpp
@@ -60,15 +60,11 @@ void DreamGenContext::usemon() {
 	fadeupmonfirst();
 	data.word(kMonadx) = 76;
 	data.word(kMonady) = 141;
-	al = 1;
-	monmessage();
+	monmessage(1);
 	hangoncurs(120);
-	al = 2;
-	monmessage();
-	cx = 60;
-	randomaccess();
-	al = 3;
-	monmessage();
+	monmessage(2);
+	randomaccess(60);
+	monmessage(3);
 	hangoncurs(100);
 	printlogo();
 	scrollmonitor();
@@ -232,5 +228,19 @@ void DreamGenContext::randomaccess(uint16 count) {
 	accesslightoff();
 }
 
+void DreamGenContext::monmessage() {
+	monmessage(al);
+}
+
+void DreamGenContext::monmessage(uint8 index) {
+	assert(index > 0);
+	const char *string = (const char *)segRef(data.word(kTextfile1)).ptr(kTextstart, 0);
+	for (uint8 i = 0; i < index; ++i) {
+		while (*string++ != '+') {
+		}
+	}
+	monprint(string);
+}
+
 } /*namespace dreamgen */
 
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index f587227..616d487 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -312,5 +312,6 @@
 	void accesslightoff();
 	void randomaccess(uint16 count);
 	void randomaccess();
-
+	void monmessage(uint8 index);
+	void monmessage();
 






More information about the Scummvm-git-logs mailing list