[Scummvm-cvs-logs] scummvm master -> 24afa11b352ac4012e25426c3a3858e192fb1299

tramboi bertrand_augereau at yahoo.fr
Thu Aug 25 06:01:52 CEST 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:
24afa11b35 DREAMWEB: All readmouse flavours ported to C++


Commit: 24afa11b352ac4012e25426c3a3858e192fb1299
    https://github.com/scummvm/scummvm/commit/24afa11b352ac4012e25426c3a3858e192fb1299
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-08-24T22:58:05-07:00

Commit Message:
DREAMWEB: All readmouse flavours 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 68312ec..520419b 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -155,6 +155,11 @@ generator = cpp(context, "DreamGen", blacklist = [
 	'showpointer',
 	'animpointer',
 	'checkcoords',
+	'readmouse',
+	'readmouse1',
+	'readmouse2',
+	'readmouse3',
+	'readmouse4',
 	], skip_output = [
 	# These functions are processed but not output
 	'dreamweb',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 01de5fc..aab3907 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -16352,74 +16352,6 @@ _tmp1:
 	multiget();
 }
 
-void DreamGenContext::readmouse() {
-	STACK_CHECK;
-	ax = data.word(kMousebutton);
-	data.word(kOldbutton) = ax;
-	ax = data.word(kMousex);
-	data.word(kOldx) = ax;
-	ax = data.word(kMousey);
-	data.word(kOldy) = ax;
-	mousecall();
-	data.word(kMousex) = cx;
-	data.word(kMousey) = dx;
-	data.word(kMousebutton) = bx;
-}
-
-void DreamGenContext::readmouse1() {
-	STACK_CHECK;
-	ax = data.word(kMousex);
-	data.word(kOldx) = ax;
-	ax = data.word(kMousey);
-	data.word(kOldy) = ax;
-	mousecall();
-	data.word(kMousex) = cx;
-	data.word(kMousey) = dx;
-	data.word(kMousebutton1) = bx;
-}
-
-void DreamGenContext::readmouse2() {
-	STACK_CHECK;
-	ax = data.word(kMousex);
-	data.word(kOldx) = ax;
-	ax = data.word(kMousey);
-	data.word(kOldy) = ax;
-	mousecall();
-	data.word(kMousex) = cx;
-	data.word(kMousey) = dx;
-	data.word(kMousebutton2) = bx;
-}
-
-void DreamGenContext::readmouse3() {
-	STACK_CHECK;
-	ax = data.word(kMousex);
-	data.word(kOldx) = ax;
-	ax = data.word(kMousey);
-	data.word(kOldy) = ax;
-	mousecall();
-	data.word(kMousex) = cx;
-	data.word(kMousey) = dx;
-	data.word(kMousebutton3) = bx;
-}
-
-void DreamGenContext::readmouse4() {
-	STACK_CHECK;
-	ax = data.word(kMousebutton);
-	data.word(kOldbutton) = ax;
-	ax = data.word(kMousex);
-	data.word(kOldx) = ax;
-	ax = data.word(kMousey);
-	data.word(kOldy) = ax;
-	mousecall();
-	data.word(kMousex) = cx;
-	data.word(kMousey) = dx;
-	ax = data.word(kMousebutton1);
-	_or(ax, data.word(kMousebutton2));
-	_or(ax, data.word(kMousebutton3));
-	_or(bx, ax);
-	data.word(kMousebutton) = bx;
-}
-
 void DreamGenContext::readkey() {
 	STACK_CHECK;
 	bx = data.word(kBufferout);
@@ -18615,12 +18547,7 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
 		case addr_putunderzoom: putunderzoom(); break;
 		case addr_undertextline: undertextline(); break;
 		case addr_setmouse: setmouse(); break;
-		case addr_readmouse: readmouse(); break;
 		case addr_mousecall: mousecall(); break;
-		case addr_readmouse1: readmouse1(); break;
-		case addr_readmouse2: readmouse2(); break;
-		case addr_readmouse3: readmouse3(); break;
-		case addr_readmouse4: readmouse4(); break;
 		case addr_readkey: readkey(); break;
 		case addr_randomnum1: randomnum1(); break;
 		case addr_randomnum2: randomnum2(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index d92ce47..2af08a4 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -78,12 +78,7 @@ public:
 	static const uint16 addr_randomnum2 = 0xcb08;
 	static const uint16 addr_randomnum1 = 0xcb04;
 	static const uint16 addr_readkey = 0xcafc;
-	static const uint16 addr_readmouse4 = 0xcaf8;
-	static const uint16 addr_readmouse3 = 0xcaf4;
-	static const uint16 addr_readmouse2 = 0xcaf0;
-	static const uint16 addr_readmouse1 = 0xcaec;
 	static const uint16 addr_mousecall = 0xcae8;
-	static const uint16 addr_readmouse = 0xcae4;
 	static const uint16 addr_setmouse = 0xcae0;
 	static const uint16 addr_undertextline = 0xcad0;
 	static const uint16 addr_putunderzoom = 0xcabc;
@@ -1337,7 +1332,7 @@ public:
 	//void commandonly();
 	void titles();
 	void deallocatemem();
-	void checkforemm();
+	void mainscreen();
 	void watchreel();
 	void showfolder();
 	void turnanypathoff();
@@ -1363,7 +1358,6 @@ public:
 	void usecashcard();
 	void usewall();
 	void opentomb();
-	//void findobname();
 	//void makename();
 	void buttonfour();
 	void dosometalk();
@@ -1445,6 +1439,7 @@ public:
 	void showbyte();
 	void useslab();
 	void dumpzoom();
+	//void aboutturn();
 	void usealtar();
 	void createpanel2();
 	void turnonpower();
@@ -1604,7 +1599,7 @@ public:
 	//void showpointer();
 	void usecooker();
 	void loadmenu();
-	//void aboutturn();
+	void checkforemm();
 	void checkifpathison();
 	//void finalframe();
 	void receptionist();
@@ -1624,7 +1619,7 @@ public:
 	void putundermenu();
 	void checkifex();
 	void intromagic2();
-	void mainscreen();
+	void intromagic3();
 	void edeninbath();
 	void intromagic1();
 	void showdiarypage();
@@ -1643,6 +1638,7 @@ public:
 	void talk();
 	void usedryer();
 	void dumpeverything();
+	//void readmouse2();
 	//void zoom();
 	void outofinv();
 	void viewfolder();
@@ -1654,7 +1650,7 @@ public:
 	void obicons();
 	void mansatstill();
 	void channel1only();
-	void playguitar();
+	void checkbasemem();
 	void lastfolder();
 	void transfermap();
 	//void showreelframe();
@@ -1690,7 +1686,7 @@ public:
 	void makeheader();
 	void setkeyboardint();
 	void priest();
-	void readmouse();
+	//void readmouse();
 	void powerlighton();
 	void savefilewrite();
 	void printmessage2();
@@ -1711,7 +1707,7 @@ public:
 	void wheelsound();
 	void actualsave();
 	void autolook();
-	void checkbasemem();
+	void playguitar();
 	void transfertext();
 	void searchforsame();
 	void showmainops();
@@ -1892,11 +1888,11 @@ public:
 	void usegun();
 	void autoappear();
 	void findnextcolon();
-	void readmouse4();
+	//void readmouse4();
 	void openryan();
-	void readmouse1();
-	void readmouse3();
-	void readmouse2();
+	void callhotellift();
+	void showman();
+	void usefullcart();
 	void newplace();
 	//void movemap();
 	void loadsample();
@@ -1932,13 +1928,12 @@ public:
 	void keeper();
 	void afternewroom();
 	void getexad();
-	void aide();
 	void openforsave();
 	void closefile();
 	void delcurs();
 	void randomaccess();
 	void splitintolines();
-	void intromagic3();
+	//void findobname();
 	void initialmoncols();
 	void checkforshake();
 	void usebuttona();
@@ -1966,15 +1961,15 @@ public:
 	//void channel0tran();
 	void buttonpress();
 	//void parseblaster();
-	void callhotellift();
+	//void readmouse1();
 	void makemainscreen();
 	void intromonks2();
 	void usewinch();
 	void setbotright();
-	void showman();
+	//void readmouse3();
 	void showfirstuse();
 	void setupemm();
-	void usefullcart();
+	void aide();
 	//void getmapad();
 	void getlocation();
 	void geteitherad();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 5f058a5..9b85cbb 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -290,7 +290,58 @@ void DreamGenContext::mousecall() {
 	cx = x;
 	dx = y;
 	bx = state;
-	flags._c = false;
+}
+
+void DreamGenContext::readmouse() {
+	data.word(kOldbutton) = data.word(kMousebutton);
+	data.word(kOldx) = data.word(kMousex);
+	data.word(kOldy) = data.word(kMousey);
+	uint16 x, y, state;
+	engine->mouseCall(&x, &y, &state);
+	data.word(kMousex) = x;
+	data.word(kMousey) = y;
+	data.word(kMousebutton) = state;
+}
+
+void DreamGenContext::readmouse1() {
+	data.word(kOldx) = data.word(kMousex);
+	data.word(kOldy) = data.word(kMousey);
+	uint16 x, y, state;
+	engine->mouseCall(&x, &y, &state);
+	data.word(kMousex) = x;
+	data.word(kMousey) = y;
+	data.word(kMousebutton1) = state;
+}
+
+void DreamGenContext::readmouse2() {
+	data.word(kOldx) = data.word(kMousex);
+	data.word(kOldy) = data.word(kMousey);
+	uint16 x, y, state;
+	engine->mouseCall(&x, &y, &state);
+	data.word(kMousex) = x;
+	data.word(kMousey) = y;
+	data.word(kMousebutton2) = state;
+}
+
+void DreamGenContext::readmouse3() {
+	data.word(kOldx) = data.word(kMousex);
+	data.word(kOldy) = data.word(kMousey);
+	uint16 x, y, state;
+	engine->mouseCall(&x, &y, &state);
+	data.word(kMousex) = x;
+	data.word(kMousey) = y;
+	data.word(kMousebutton3) = state;
+}
+
+void DreamGenContext::readmouse4() {
+	data.word(kOldbutton) = data.word(kMousebutton);
+	data.word(kOldx) = data.word(kMousex);
+	data.word(kOldy) = data.word(kMousey);
+	uint16 x, y, state;
+	engine->mouseCall(&x, &y, &state);
+	data.word(kMousex) = x;
+	data.word(kMousey) = y;
+	data.word(kMousebutton) = state | data.word(kMousebutton1) | data.word(kMousebutton2) | data.word(kMousebutton3);
 }
 
 void DreamGenContext::setmouse() {
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 0409c3a..df64013 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -185,4 +185,9 @@
 	void animpointer();
 	void checkcoords();
 	void checkcoords(const RectWithCallback *rectWithCallbacks);
+	void readmouse();
+	void readmouse1();
+	void readmouse2();
+	void readmouse3();
+	void readmouse4();
 






More information about the Scummvm-git-logs mailing list