[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