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

tramboi bertrand_augereau at yahoo.fr
Wed Nov 30 14:51:22 CET 2011


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

Summary:
19daa15f8e DREAMWEB: 'drawfloor' ported to C++
b34791e987 DREAMWEB: Less VM side-effects in 'doblocks'


Commit: 19daa15f8e3da59b1f32663da65a138c6c2264f7
    https://github.com/scummvm/scummvm/commit/19daa15f8e3da59b1f32663da65a138c6c2264f7
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-11-30T05:30:40-08:00

Commit Message:
DREAMWEB: 'drawfloor' ported 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 79749bd..2730e45 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -317,6 +317,7 @@ generator = cpp(context, "DreamGen", blacklist = [
 	'steady',
 	'constant',
 	'random',
+	'drawfloor',
 	], skip_output = [
 	# These functions are processed but not output
 	'dreamweb',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 98c9855..5e0520e 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -4827,24 +4827,6 @@ beforethistext:
 		goto shuffletextads;
 }
 
-void DreamGenContext::drawfloor() {
-	STACK_CHECK;
-	push(es);
-	push(bx);
-	eraseoldobs();
-	drawflags();
-	calcmapad();
-	doblocks();
-	showallobs();
-	showallfree();
-	showallex();
-	paneltomap();
-	initrain();
-	data.byte(kNewobs) = 0;
-	bx = pop();
-	es = pop();
-}
-
 void DreamGenContext::redrawmainscrn() {
 	STACK_CHECK;
 	data.word(kTimecount) = 0;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index e8642e8..ccffb21 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -340,7 +340,6 @@ public:
 	static const uint16 addr_talk = 0xc480;
 	static const uint16 addr_getback1 = 0xc47c;
 	static const uint16 addr_redrawmainscrn = 0xc478;
-	static const uint16 addr_drawfloor = 0xc428;
 	static const uint16 addr_deleteextext = 0xc420;
 	static const uint16 addr_deleteexframe = 0xc41c;
 	static const uint16 addr_deleteexobject = 0xc418;
@@ -1155,7 +1154,7 @@ public:
 	void gettime();
 	void candles1();
 	void fadedos();
-	void drawfloor();
+	void runendseq();
 	void loadkeypad();
 	void findtext1();
 	void isryanholding();
@@ -1229,7 +1228,6 @@ public:
 	void talk();
 	void getridoftemp2();
 	void usebalcony();
-	void runendseq();
 	void decide();
 	void disablesoundint();
 	void priesttext();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index a566f8f..c4e2ae1 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -2509,5 +2509,22 @@ void DreamGenContext::loadtemptext(const char *fileName) {
 	data.word(kTextfile1) = standardload(fileName);
 }
 
+void DreamGenContext::drawfloor() {
+	eraseoldobs();
+	drawflags();
+	calcmapad();
+	push(es);
+	push(bx);
+	doblocks();
+	bx = pop();
+	es = pop();
+	showallobs();
+	showallfree();
+	showallex();
+	paneltomap();
+	initrain();
+	data.byte(kNewobs) = 0;
+}
+
 } /*namespace dreamgen */
 
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 5236ed4..6ac7d41 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -372,4 +372,5 @@
 	void loadtemptext();
 	void loadtemptext(const char *fileName);
 	void loadtraveltext();
+	void drawfloor();
 


Commit: b34791e98723f27950f28351943b4ef84d9a4104
    https://github.com/scummvm/scummvm/commit/b34791e98723f27950f28351943b4ef84d9a4104
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-11-30T05:36:58-08:00

Commit Message:
DREAMWEB: Less VM side-effects in 'doblocks'

Changed paths:
    engines/dreamweb/backdrop.cpp
    engines/dreamweb/stubs.cpp



diff --git a/engines/dreamweb/backdrop.cpp b/engines/dreamweb/backdrop.cpp
index 63aec2d..3e4b4dc 100644
--- a/engines/dreamweb/backdrop.cpp
+++ b/engines/dreamweb/backdrop.cpp
@@ -27,12 +27,9 @@ namespace DreamGen {
 void DreamGenContext::doblocks() {
 	uint16 dstOffset = data.word(kMapady) * 320 + data.word(kMapadx);
 	uint16 mapOffset = kMap + data.byte(kMapy) * kMapwidth + data.byte(kMapx);
-	ds = data.word(kMapdata);
-	const uint8 *mapData = ds.ptr(mapOffset, 0);
-	ds = data.word(kBackdrop);
-	const uint8 *blocks = ds.ptr(kBlocks, 0);
-	es = data.word(kWorkspace);
-	uint8 *dstBuffer = es.ptr(dstOffset, 0);
+	const uint8 *mapData = segRef(data.word(kMapdata)).ptr(mapOffset, 0);
+	const uint8 *blocks = segRef(data.word(kBackdrop)).ptr(kBlocks, 0);
+	uint8 *dstBuffer = workspace() + dstOffset;
 
 	for (size_t i = 0; i < 10; ++i) {
 		for (size_t j = 0; j < 11; ++j) {
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index c4e2ae1..134555d 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -2513,11 +2513,7 @@ void DreamGenContext::drawfloor() {
 	eraseoldobs();
 	drawflags();
 	calcmapad();
-	push(es);
-	push(bx);
 	doblocks();
-	bx = pop();
-	es = pop();
 	showallobs();
 	showallfree();
 	showallex();






More information about the Scummvm-git-logs mailing list