[Scummvm-cvs-logs] scummvm master -> dadabd252af24495cdd7a877592c5aabbec30e11
tramboi
bertrand_augereau at yahoo.fr
Fri Dec 2 17:36:00 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:
dadabd252a DREAMWEB: 'buttonPress' ported to C++
Commit: dadabd252af24495cdd7a877592c5aabbec30e11
https://github.com/scummvm/scummvm/commit/dadabd252af24495cdd7a877592c5aabbec30e11
Author: Bertrand Augereau (bertrand_augereau at yahoo.fr)
Date: 2011-12-02T08:22:39-08:00
Commit Message:
DREAMWEB: 'buttonPress' ported to C++
Changed paths:
devtools/tasmrecover/tasm-recover
engines/dreamweb/dreamgen.cpp
engines/dreamweb/dreamgen.h
engines/dreamweb/keypad.cpp
engines/dreamweb/stubs.h
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 61d740a..95461fb 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -354,6 +354,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'buttonnine',
'buttonnought',
'buttonenter',
+ 'buttonpress',
'credits',
'entercode',
], skip_output = [
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 44a48e7..e3ea81e 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -9188,40 +9188,6 @@ not10:
_inc(data.word(kPresspointer));
}
-void DreamGenContext::buttonPress() {
- STACK_CHECK;
- ch = cl;
- _add(ch, 100);
- _cmp(data.byte(kCommandtype), ch);
- if (flags.z())
- goto alreadyb;
- data.byte(kCommandtype) = ch;
- al = cl;
- _add(al, 4);
- push(cx);
- commandOnly();
- cx = pop();
-alreadyb:
- ax = data.word(kMousebutton);
- _cmp(ax, data.word(kOldbutton));
- if (flags.z())
- return /* (notb) */;
- _and(ax, 1);
- if (!flags.z())
- goto dob;
- return;
-dob:
- data.byte(kPressed) = cl;
- _add(cl, 21);
- data.byte(kGraphicpress) = cl;
- data.byte(kPresscount) = 40;
- _cmp(cl, 32);
- if (flags.z())
- return /* (nonoise) */;
- al = 10;
- playChannel1();
-}
-
void DreamGenContext::showOuterPad() {
STACK_CHECK;
di = (36+112)-3;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index cbf8bf6..3f9b8d8 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -1029,7 +1029,6 @@ public:
void useControl();
void redrawMainScrn();
void showGroup();
- void buttonPress();
void makeMainScreen();
void useWinch();
void setBotRight();
diff --git a/engines/dreamweb/keypad.cpp b/engines/dreamweb/keypad.cpp
index 1f4fa72..b05afa1 100644
--- a/engines/dreamweb/keypad.cpp
+++ b/engines/dreamweb/keypad.cpp
@@ -153,58 +153,62 @@ void DreamGenContext::enterCode(uint16 keypadAx, uint16 keypadCx) {
}
void DreamGenContext::buttonOne() {
- cl = 1;
- buttonPress();
+ buttonPress(1);
}
void DreamGenContext::buttonTwo() {
- cl = 2;
- buttonPress();
+ buttonPress(2);
}
void DreamGenContext::buttonThree() {
- cl = 3;
- buttonPress();
+ buttonPress(3);
}
void DreamGenContext::buttonFour() {
- cl = 4;
- buttonPress();
+ buttonPress(4);
}
void DreamGenContext::buttonFive() {
- cl = 5;
- buttonPress();
+ buttonPress(5);
}
void DreamGenContext::buttonSix() {
- cl = 6;
- buttonPress();
+ buttonPress(6);
}
void DreamGenContext::buttonSeven() {
- cl = 7;
- buttonPress();
+ buttonPress(7);
}
void DreamGenContext::buttonEight() {
- cl = 8;
- buttonPress();
+ buttonPress(8);
}
void DreamGenContext::buttonNine() {
- cl = 9;
- buttonPress();
+ buttonPress(9);
}
void DreamGenContext::buttonNought() {
- cl = 10;
- buttonPress();
+ buttonPress(10);
}
void DreamGenContext::buttonEnter() {
- cl = 11;
- buttonPress();
+ buttonPress(11);
+}
+
+void DreamGenContext::buttonPress(uint8 buttonId) {
+ uint8 commandType = 100 + buttonId;
+ if (data.byte(kCommandtype) != commandType) {
+ data.byte(kCommandtype) = commandType;
+ commandOnly(buttonId + 4);
+ }
+ if ((data.word(kMousebutton) & 1) && (data.word(kMousebutton) != data.word(kOldbutton))) {
+ data.byte(kPressed) = buttonId;
+ data.byte(kGraphicpress) = buttonId + 21;
+ data.byte(kPresscount) = 40;
+ if (buttonId != 11)
+ playChannel1(10);
+ }
}
} /*namespace dreamgen */
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 4b9e54c..a77d2c7 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -395,6 +395,7 @@
void buttonNine();
void buttonNought();
void buttonEnter();
+ void buttonPress(uint8 buttonId);
void enterCode(uint16 keypadAx, uint16 keypadCx);
void enterCode();
More information about the Scummvm-git-logs
mailing list