diff options
| -rw-r--r-- | engines/dreamweb/stubs.cpp | 20 | ||||
| -rw-r--r-- | engines/dreamweb/stubs.h | 2 | 
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);  | 
