aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2011-11-14 18:51:15 +0100
committerWillem Jan Palenstijn2011-11-14 21:43:35 +0100
commitceb36fe0d634f38200dad4e18b5c74464d3a0a13 (patch)
tree5ef7cc72b0d52ff246f81c30d78f2d19d651137e /engines
parent0ecdf85280bd60eae92bd7b08c0f9dd32c97fa05 (diff)
downloadscummvm-rg350-ceb36fe0d634f38200dad4e18b5c74464d3a0a13.tar.gz
scummvm-rg350-ceb36fe0d634f38200dad4e18b5c74464d3a0a13.tar.bz2
scummvm-rg350-ceb36fe0d634f38200dad4e18b5c74464d3a0a13.zip
DREAMWEB: Move 'examineob' from dreamgen
Diffstat (limited to 'engines')
-rw-r--r--engines/dreamweb/dreamgen.cpp76
-rw-r--r--engines/dreamweb/dreamgen.h3
-rw-r--r--engines/dreamweb/object.cpp76
-rw-r--r--engines/dreamweb/stubs.h1
4 files changed, 78 insertions, 78 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 5b869d44a3..d9a2f7a44f 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -3851,81 +3851,6 @@ findopen2a:
goto findopen1a;
}
-void DreamGenContext::examineob() {
- STACK_CHECK;
- data.byte(kPointermode) = 0;
- data.word(kTimecount) = 0;
-examineagain:
- data.byte(kInmaparea) = 0;
- data.byte(kExamagain) = 0;
- data.byte(kOpenedob) = 255;
- data.byte(kOpenedtype) = 255;
- data.byte(kInvopen) = 0;
- al = data.byte(kCommandtype);
- data.byte(kObjecttype) = al;
- data.byte(kItemframe) = 0;
- data.byte(kPointerframe) = 0;
- createpanel();
- showpanel();
- showman();
- showexit();
- obicons();
- obpicture();
- describeob();
- undertextline();
- data.byte(kCommandtype) = 255;
- readmouse();
- showpointer();
- worktoscreen();
- delpointer();
-waitexam:
- readmouse();
- showpointer();
- vsync();
- dumppointer();
- dumptextline();
- delpointer();
- data.byte(kGetback) = 0;
- bx = offset_examlist;
- _cmp(data.byte(kInvopen), 0);
- if (flags.z())
- goto notuseinv;
- bx = offset_invlist1;
- _cmp(data.byte(kInvopen), 1);
- if (flags.z())
- goto notuseinv;
- bx = offset_withlist1;
-notuseinv:
- checkcoords();
- _cmp(data.byte(kQuitrequested), 0);
- if (!flags.z())
- goto stopwaiting;
- _cmp(data.byte(kExamagain), 0);
- if (flags.z())
- goto norex;
- goto examineagain;
-norex:
- _cmp(data.byte(kGetback), 0);
- if (flags.z())
- goto waitexam;
-stopwaiting:
- data.byte(kPickup) = 0;
- _cmp(data.word(kWatchingtime), 0);
- if (!flags.z())
- goto iswatching;
- _cmp(data.byte(kNewlocation), 255);
- if (!flags.z())
- goto justgetback;
-iswatching:
- makemainscreen();
- data.byte(kInvopen) = 0;
- data.byte(kOpenedob) = 255;
- return;
-justgetback:
- data.byte(kInvopen) = 0;
- data.byte(kOpenedob) = 255;
-}
-
void DreamGenContext::makemainscreen() {
STACK_CHECK;
createpanel();
@@ -16698,7 +16623,6 @@ void DreamGenContext::__dispatch_call(uint16 addr) {
case addr_monprint: monprint(); break;
case addr_fillopen: fillopen(); break;
case addr_findallopen: findallopen(); break;
- case addr_examineob: examineob(); break;
case addr_makemainscreen: makemainscreen(); break;
case addr_getbackfromob: getbackfromob(); break;
case addr_incryanpage: incryanpage(); break;
diff --git a/engines/dreamweb/dreamgen.h b/engines/dreamweb/dreamgen.h
index 4ba7e40e54..e74f68c72e 100644
--- a/engines/dreamweb/dreamgen.h
+++ b/engines/dreamweb/dreamgen.h
@@ -479,7 +479,6 @@ public:
static const uint16 addr_incryanpage = 0xc348;
static const uint16 addr_getbackfromob = 0xc344;
static const uint16 addr_makemainscreen = 0xc340;
- static const uint16 addr_examineob = 0xc33c;
static const uint16 addr_findallopen = 0xc32c;
static const uint16 addr_fillopen = 0xc324;
static const uint16 addr_monprint = 0xc314;
@@ -1680,7 +1679,7 @@ public:
void openinv();
void lookatplace();
void useaxe();
- void examineob();
+ //void examineob();
void buttonnought();
void useelvdoor();
void putbackobstuff();
diff --git a/engines/dreamweb/object.cpp b/engines/dreamweb/object.cpp
index e2da902465..a1d6e1da7c 100644
--- a/engines/dreamweb/object.cpp
+++ b/engines/dreamweb/object.cpp
@@ -110,5 +110,81 @@ void DreamGenContext::obicons() {
}
}
+void DreamGenContext::examineob() {
+ STACK_CHECK;
+ data.byte(kPointermode) = 0;
+ data.word(kTimecount) = 0;
+examineagain:
+ data.byte(kInmaparea) = 0;
+ data.byte(kExamagain) = 0;
+ data.byte(kOpenedob) = 255;
+ data.byte(kOpenedtype) = 255;
+ data.byte(kInvopen) = 0;
+ al = data.byte(kCommandtype);
+ data.byte(kObjecttype) = al;
+ data.byte(kItemframe) = 0;
+ data.byte(kPointerframe) = 0;
+ createpanel();
+ showpanel();
+ showman();
+ showexit();
+ obicons();
+ obpicture();
+ describeob();
+ undertextline();
+ data.byte(kCommandtype) = 255;
+ readmouse();
+ showpointer();
+ worktoscreen();
+ delpointer();
+waitexam:
+ readmouse();
+ showpointer();
+ vsync();
+ dumppointer();
+ dumptextline();
+ delpointer();
+ data.byte(kGetback) = 0;
+ bx = offset_examlist;
+ _cmp(data.byte(kInvopen), 0);
+ if (flags.z())
+ goto notuseinv;
+ bx = offset_invlist1;
+ _cmp(data.byte(kInvopen), 1);
+ if (flags.z())
+ goto notuseinv;
+ bx = offset_withlist1;
+notuseinv:
+ checkcoords();
+ _cmp(data.byte(kQuitrequested), 0);
+ if (!flags.z())
+ goto stopwaiting;
+ _cmp(data.byte(kExamagain), 0);
+ if (flags.z())
+ goto norex;
+ goto examineagain;
+norex:
+ _cmp(data.byte(kGetback), 0);
+ if (flags.z())
+ goto waitexam;
+stopwaiting:
+ data.byte(kPickup) = 0;
+ _cmp(data.word(kWatchingtime), 0);
+ if (!flags.z())
+ goto iswatching;
+ _cmp(data.byte(kNewlocation), 255);
+ if (!flags.z())
+ goto justgetback;
+iswatching:
+ makemainscreen();
+ data.byte(kInvopen) = 0;
+ data.byte(kOpenedob) = 255;
+ return;
+justgetback:
+ data.byte(kInvopen) = 0;
+ data.byte(kOpenedob) = 255;
+}
+
+
} /*namespace dreamgen */
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 27bbe31cfc..52e0e8516f 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -249,4 +249,5 @@
void showcity();
uint16 getpersframe(uint8 index);
void convicons();
+ void examineob();