aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFilippos Karapetis2011-12-12 19:16:56 +0200
committerFilippos Karapetis2011-12-12 19:16:56 +0200
commit18da47dcd63d244a6d1a59e02acb05e4812542af (patch)
treeaef1819739bf33dc03b525808224bfe348abe34f
parentad0ddcbb8ef1f8651e00f02fa325d4ed031e240e (diff)
downloadscummvm-rg350-18da47dcd63d244a6d1a59e02acb05e4812542af.tar.gz
scummvm-rg350-18da47dcd63d244a6d1a59e02acb05e4812542af.tar.bz2
scummvm-rg350-18da47dcd63d244a6d1a59e02acb05e4812542af.zip
DREAMWEB: Port 'quitkey' to C++
-rwxr-xr-xdevtools/tasmrecover/tasm-recover1
-rw-r--r--engines/dreamweb/dreamgen.cpp21
-rw-r--r--engines/dreamweb/dreamgen.h1
-rw-r--r--engines/dreamweb/stubs.cpp10
-rw-r--r--engines/dreamweb/stubs.h1
5 files changed, 12 insertions, 22 deletions
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index 7f7b245993..7c89ab44f5 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -608,6 +608,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'putunderzoom',
'quickquit',
'quickquit2',
+ 'quitkey',
'quitsymbol',
'random',
'randomaccess',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 6aad4f00d7..6d3da6d0f2 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -4730,27 +4730,6 @@ nottvsoldier:
putBackObStuff();
}
-void DreamGenContext::quitKey() {
- STACK_CHECK;
- _cmp(data.byte(kCommandtype), 222);
- if (flags.z())
- goto alreadyqk;
- data.byte(kCommandtype) = 222;
- al = 4;
- commandOnly();
-alreadyqk:
- ax = data.word(kMousebutton);
- _cmp(ax, data.word(kOldbutton));
- if (flags.z())
- return /* (notqk) */;
- _and(ax, 1);
- if (!flags.z())
- goto doqk;
- return;
-doqk:
- data.byte(kGetback) = 1;
-}
-
void DreamGenContext::updateSymbolTop() {
STACK_CHECK;
_cmp(data.byte(kSymboltopdir), 0);
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 7d0115834e..ae9bf3bb06 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -606,7 +606,6 @@ public:
void getPersonText();
void parser();
void emergencyPurge();
- void quitKey();
void processTrigger();
void transferConToEx();
void adjustDown();
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 90aca9c632..162152ccda 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -4307,4 +4307,14 @@ void DreamGenContext::autoAppear() {
}
}
+void DreamGenContext::quitKey() {
+ if (data.byte(kCommandtype) != 222) {
+ data.byte(kCommandtype) = 222;
+ commandOnly(4);
+ }
+
+ if (data.word(kMousebutton) != data.word(kOldbutton) && (data.word(kMousebutton) & 1))
+ data.byte(kGetback) = 1;
+}
+
} // End of namespace DreamGen
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 52cb3a34e7..4308bd54ea 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -567,5 +567,6 @@
void rollEndCredits2();
void useButtonA();
void autoAppear();
+ void quitKey();
#endif