[Scummvm-cvs-logs] scummvm master -> 82cc00923bb302cfe334c05646c07f385bce66fc

tramboi bertrand_augereau at yahoo.fr
Wed Nov 16 11:28:59 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:
82cc00923b DREAMWEB: Misc palette copies ported


Commit: 82cc00923bb302cfe334c05646c07f385bce66fc
    https://github.com/scummvm/scummvm/commit/82cc00923bb302cfe334c05646c07f385bce66fc
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-11-16T04:26:15-08:00

Commit Message:
DREAMWEB: Misc palette copies ported

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



diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 2696bcb..a2e4055 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -213,6 +213,10 @@ generator = cpp(context, "DreamGen", blacklist = [
 	'initrain',
 	'checkbasemem',
 	'clearstartpal',
+	'paltostartpal',
+	'endpaltostart',
+	'startpaltoend',
+	'paltoendpal',
 	], skip_output = [
 	# These functions are processed but not output
 	'dreamweb',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 599ef90..4560c15 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -2940,46 +2940,6 @@ noaddb:
 		goto greysumloop1;
 }
 
-void DreamGenContext::paltostartpal() {
-	STACK_CHECK;
-	es = data.word(kBuffers);
-	ds = data.word(kBuffers);
-	si = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768);
-	di = (0+(228*13)+32+60+(32*32)+(11*10*3));
-	cx = 768/2;
-	_movsw(cx, true);
-}
-
-void DreamGenContext::endpaltostart() {
-	STACK_CHECK;
-	es = data.word(kBuffers);
-	ds = data.word(kBuffers);
-	si = (0+(228*13)+32+60+(32*32)+(11*10*3)+768);
-	di = (0+(228*13)+32+60+(32*32)+(11*10*3));
-	cx = 768/2;
-	_movsw(cx, true);
-}
-
-void DreamGenContext::startpaltoend() {
-	STACK_CHECK;
-	es = data.word(kBuffers);
-	ds = data.word(kBuffers);
-	di = (0+(228*13)+32+60+(32*32)+(11*10*3)+768);
-	si = (0+(228*13)+32+60+(32*32)+(11*10*3));
-	cx = 768/2;
-	_movsw(cx, true);
-}
-
-void DreamGenContext::paltoendpal() {
-	STACK_CHECK;
-	es = data.word(kBuffers);
-	ds = data.word(kBuffers);
-	di = (0+(228*13)+32+60+(32*32)+(11*10*3)+768);
-	si = (0+(228*13)+32+60+(32*32)+(11*10*3)+768+768);
-	cx = 768/2;
-	_movsw(cx, true);
-}
-
 void DreamGenContext::allpalette() {
 	STACK_CHECK;
 	es = data.word(kBuffers);
@@ -16232,10 +16192,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
 		case addr_fadecalculation: fadecalculation(); break;
 		case addr_greyscalesum: greyscalesum(); break;
 		case addr_showgroup: showgroup(); break;
-		case addr_paltostartpal: paltostartpal(); break;
-		case addr_endpaltostart: endpaltostart(); break;
-		case addr_startpaltoend: startpaltoend(); break;
-		case addr_paltoendpal: paltoendpal(); break;
 		case addr_allpalette: allpalette(); break;
 		case addr_dumpcurrent: dumpcurrent(); break;
 		case addr_fadedownmon: fadedownmon(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index f9e45b7..e6c105f 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -500,10 +500,6 @@ public:
 	static const uint16 addr_fadedownmon = 0xc2ac;
 	static const uint16 addr_dumpcurrent = 0xc2a8;
 	static const uint16 addr_allpalette = 0xc2a4;
-	static const uint16 addr_paltoendpal = 0xc2a0;
-	static const uint16 addr_startpaltoend = 0xc29c;
-	static const uint16 addr_endpaltostart = 0xc298;
-	static const uint16 addr_paltostartpal = 0xc294;
 	static const uint16 addr_showgroup = 0xc290;
 	static const uint16 addr_greyscalesum = 0xc28c;
 	static const uint16 addr_fadecalculation = 0xc288;
@@ -1459,7 +1455,7 @@ public:
 	void fadescreenuphalf();
 	void getridoftempcharset();
 	void heavy();
-	void endpaltostart();
+	//void endpaltostart();
 	void showkeys();
 	void usekey();
 	void locklighton();
@@ -1551,7 +1547,7 @@ public:
 	void openfilenocheck();
 	//void readoneblock();
 	void fadeupmon();
-	void paltoendpal();
+	//void paltoendpal();
 	void fadetowhite();
 	void loadsavebox();
 	void soundend();
@@ -1611,7 +1607,7 @@ public:
 	void constant();
 	void loadroomssample();
 	void sparkydrip();
-	void paltostartpal();
+	//void paltostartpal();
 	void bossman();
 	void getridofpit();
 	void convnum();
@@ -1640,7 +1636,7 @@ public:
 	void hangonpq();
 	void startup();
 	void savegame();
-	void startpaltoend();
+	//void startpaltoend();
 	//void showicon();
 	void findopenpos();
 	void describeob();
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 9d548f5..4cdd11d 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -255,6 +255,13 @@
 	void transfertext();
 	void initrain();
 	Rain *splitintolines(uint8 x, uint8 y, Rain *rain);
+	uint8 *mainPalette();
+	uint8 *startPalette();
+	uint8 *endPalette();
 	void clearstartpal();
+	void paltostartpal();
+	void endpaltostart();
+	void startpaltoend();
+	void paltoendpal();
 
 
diff --git a/engines/dreamweb/vgafades.cpp b/engines/dreamweb/vgafades.cpp
index 5fffd9c..79a7cce 100644
--- a/engines/dreamweb/vgafades.cpp
+++ b/engines/dreamweb/vgafades.cpp
@@ -24,9 +24,36 @@
 
 namespace DreamGen {
 
+uint8 *DreamGenContext::mainPalette() {
+	return segRef(data.word(kBuffers)).ptr(kMaingamepal, 256*3);
+}
+
+uint8 *DreamGenContext::startPalette() {
+	return segRef(data.word(kBuffers)).ptr(kStartpal, 256*3);
+}
+
+uint8 *DreamGenContext::endPalette() {
+	return segRef(data.word(kBuffers)).ptr(kEndpal, 256*3);
+}
+
 void DreamGenContext::clearstartpal() {
-	uint8 *startPalette = segRef(data.word(kBuffers)).ptr(kStartpal, 256*3);
-	memset(startPalette, 0, 256*3);
+	memset(startPalette(), 0, 256*3);
+}
+
+void DreamGenContext::paltostartpal() {
+	memcpy(startPalette(), mainPalette(), 256*3);
+}
+
+void DreamGenContext::endpaltostart() {
+	memcpy(startPalette(), endPalette(), 256*3);
+}
+
+void DreamGenContext::startpaltoend() {
+	memcpy(endPalette(), startPalette(), 256*3);
+}
+
+void DreamGenContext::paltoendpal() {
+	memcpy(endPalette(), mainPalette(), 256*3);
 }
 
 } /*namespace dreamgen */






More information about the Scummvm-git-logs mailing list