[Scummvm-cvs-logs] scummvm master -> 3ac88c16ea63243a46444e5754a94e41302f2d64
bluegr
md5 at scummvm.org
Sun Dec 25 13:30:24 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:
3ac88c16ea DREAMWEB: Port 'selectopenob' to C++
Commit: 3ac88c16ea63243a46444e5754a94e41302f2d64
https://github.com/scummvm/scummvm/commit/3ac88c16ea63243a46444e5754a94e41302f2d64
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2011-12-25T04:30:00-08:00
Commit Message:
DREAMWEB: Port 'selectopenob' to C++
Changed paths:
devtools/tasmrecover/tasm-recover
engines/dreamweb/dreamgen.cpp
engines/dreamweb/dreamgen.h
engines/dreamweb/object.cpp
engines/dreamweb/stubs.h
diff --git a/devtools/tasmrecover/tasm-recover b/devtools/tasmrecover/tasm-recover
index da77e6f..abb770c 100755
--- a/devtools/tasmrecover/tasm-recover
+++ b/devtools/tasmrecover/tasm-recover
@@ -760,6 +760,7 @@ generator = cpp(context, "DreamGen", blacklist = [
'seecommandtail',
'selectlocation',
'selectob',
+ 'selectopenob',
'selectslot',
'selectslot2',
'set16colpalette',
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 8cd5dd4..bca2232 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -537,52 +537,6 @@ findopenp1:
_add(bx, (0+(228*13)));
}
-void DreamGenContext::selectOpenOb() {
- STACK_CHECK;
- al = data.byte(kCommand);
- getAnyAd();
- _cmp(al, 255);
- if (!flags.z())
- goto canopenit1;
- blank();
- return;
-canopenit1:
- _cmp(data.byte(kCommandtype), 224);
- if (flags.z())
- goto alreadyopob;
- data.byte(kCommandtype) = 224;
- bl = data.byte(kCommand);
- bh = data.byte(kObjecttype);
- al = 38;
- commandWithOb();
-alreadyopob:
- ax = data.word(kMousebutton);
- _cmp(ax, data.word(kOldbutton));
- if (flags.z())
- return /* (noopenob) */;
- _and(ax, 1);
- if (!flags.z())
- goto doopenob;
- return;
-doopenob:
- al = data.byte(kCommand);
- data.byte(kOpenedob) = al;
- al = data.byte(kObjecttype);
- data.byte(kOpenedtype) = al;
- createPanel();
- showPanel();
- showMan();
- examIcon();
- showExit();
- openInv();
- openOb();
- underTextLine();
- readMouse();
- showPointer();
- workToScreen();
- delPointer();
-}
-
void DreamGenContext::useOpened() {
STACK_CHECK;
_cmp(data.byte(kOpenedob), 255);
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 52009dc..db9a8c2 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -478,7 +478,6 @@ public:
void getDestInfo();
void read();
void searchForString();
- void selectOpenOb();
void searchForFiles();
void getExAd();
void swapWithInv();
diff --git a/engines/dreamweb/object.cpp b/engines/dreamweb/object.cpp
index 4addfc4..dff5805 100644
--- a/engines/dreamweb/object.cpp
+++ b/engines/dreamweb/object.cpp
@@ -793,4 +793,37 @@ bool DreamGenContext::checkObjectSizeCPP() {
return false;
}
+void DreamGenContext::selectOpenOb() {
+ uint8 slotSize, slotCount;
+ getAnyAd(&slotSize, &slotCount);
+ if (slotCount == 255) {
+ // Can't open the object
+ blank();
+ return;
+ }
+
+ if (data.byte(kCommandtype) != 224) {
+ data.byte(kCommandtype) = 224;
+ commandWithOb(38, data.byte(kObjecttype), data.byte(kCommand));
+ }
+
+ if (data.word(kMousebutton) == data.word(kOldbutton) || !(data.word(kMousebutton) & 1))
+ return;
+
+ data.byte(kOpenedob) = data.byte(kCommand);
+ data.byte(kOpenedtype) = data.byte(kObjecttype);
+ createPanel();
+ showPanel();
+ showMan();
+ examIcon();
+ showExit();
+ openInv();
+ openOb();
+ underTextLine();
+ readMouse();
+ showPointer();
+ workToScreenCPP();
+ delPointer();
+}
+
} // End of namespace DreamGen
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index ed0afa4..547714e 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -197,5 +197,6 @@
void lookAtPlace();
void inToInv();
void outOfInv();
+ void selectOpenOb();
#endif
More information about the Scummvm-git-logs
mailing list