aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorBertrand Augereau2011-07-02 13:00:09 +0200
committerBertrand Augereau2011-07-18 22:59:16 +0200
commit0eccad88f4038860e034654fd533ab1cc1df08a0 (patch)
tree17cd8c235820acb30da14f6999c5e4ae6c7edbeb /engines
parent0a6f83691d92754330a5f06b34aae5cde65d79df (diff)
downloadscummvm-rg350-0eccad88f4038860e034654fd533ab1cc1df08a0.tar.gz
scummvm-rg350-0eccad88f4038860e034654fd533ab1cc1df08a0.tar.bz2
scummvm-rg350-0eccad88f4038860e034654fd533ab1cc1df08a0.zip
DREAMWEB: doorway and widedoor have signatures
Diffstat (limited to 'engines')
-rw-r--r--engines/dreamweb/stubs.cpp20
-rw-r--r--engines/dreamweb/stubs.h2
2 files changed, 20 insertions, 2 deletions
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index dc05e455ff..49b0012927 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -942,7 +942,7 @@ void DreamGenContext::backobject(Sprite* sprite) {
sprite->delay = objData->delay;
if (objData->type == 6)
- widedoor();
+ widedoor(sprite, objData);
else if (objData->type == 5)
random(sprite, objData);
else if (objData->type == 4)
@@ -950,7 +950,7 @@ void DreamGenContext::backobject(Sprite* sprite) {
else if (objData->type == 3)
liftsprite(sprite, objData);
else if (objData->type == 2)
- doorway();
+ doorway(sprite, objData);
else if (objData->type == 1)
constant(sprite, objData);
else
@@ -976,6 +976,22 @@ void DreamGenContext::random(Sprite* sprite, ObjData* objData) {
sprite->b15 = objData->b18[r&7];
}
+void DreamGenContext::doorway(Sprite* sprite, ObjData* objData) {
+ data.byte(kDoorcheck1) = -24;
+ data.byte(kDoorcheck2) = 10;
+ data.byte(kDoorcheck3) = -30;
+ data.byte(kDoorcheck4) = 10;
+ dodoor(sprite, objData);
+}
+
+void DreamGenContext::widedoor(Sprite* sprite, ObjData* objData) {
+ data.byte(kDoorcheck1) = -24;
+ data.byte(kDoorcheck2) = 24;
+ data.byte(kDoorcheck3) = -30;
+ data.byte(kDoorcheck4) = 24;
+ dodoor(sprite, objData);
+}
+
void DreamGenContext::dodoor() {
Sprite *sprite = (Sprite*)es.ptr(bx, sizeof(Sprite));
ObjData *objData = (ObjData*)ds.ptr(di, 0);
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index 63a898acc9..4b7f956296 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -35,6 +35,8 @@
void random(Sprite* sprite, ObjData* objData);
void dodoor();
void dodoor(Sprite* sprite, ObjData* objData);
+ void doorway(Sprite* sprite, ObjData* objData);
+ void widedoor(Sprite* sprite, ObjData* objData);
void liftsprite();
void liftsprite(Sprite* sprite, ObjData* objData);
void turnpathonCPP(uint8 param);