[Scummvm-cvs-logs] scummvm master -> ef2f98953f37b3d264f00d5e841376c5b4c296eb

wjp wjp at usecode.org
Thu Nov 17 00:00:57 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:
ef2f98953f DREAMWEB: Clean up 'lockeddoorway'


Commit: ef2f98953f37b3d264f00d5e841376c5b4c296eb
    https://github.com/scummvm/scummvm/commit/ef2f98953f37b3d264f00d5e841376c5b4c296eb
Author: Willem Jan Palenstijn (wjp at usecode.org)
Date: 2011-11-16T14:57:26-08:00

Commit Message:
DREAMWEB: Clean up 'lockeddoorway'

Changed paths:
    engines/dreamweb/sprite.cpp



diff --git a/engines/dreamweb/sprite.cpp b/engines/dreamweb/sprite.cpp
index 7bbe298..a03de8c 100644
--- a/engines/dreamweb/sprite.cpp
+++ b/engines/dreamweb/sprite.cpp
@@ -359,66 +359,56 @@ void DreamGenContext::steady(Sprite *sprite, SetObject *objData) {
 }
 
 void DreamGenContext::lockeddoorway(Sprite *sprite, SetObject *objData) {
-	if (data.byte(kRyanx) < sprite->x) {
-		if (sprite->x - data.byte(kRyanx) > 24)
-			goto shutdoor2;
-	} else {
-		if (data.byte(kRyanx) - sprite->x >= 10)
-			goto shutdoor2;
-	}
 
-	if (data.byte(kRyany) < sprite->y) {
-		if (sprite->y - data.byte(kRyany) > 30)
-			goto shutdoor2;
-	} else {
-		if (data.byte(kRyany) - sprite->y >= 12)
-			goto shutdoor2;
-	}
+	int ryanx = data.byte(kRyanx);
+	int ryany = data.byte(kRyany);
 
-	if (data.byte(kThroughdoor) != 1) {
-		if (data.byte(kLockstatus) == 1)
-			goto shutdoor2;
-	}
+	Common::Rect check(-24, -30, 10, 12);
+	check.translate(sprite->x, sprite->y);
+	bool openDoor = check.contains(ryanx, ryany);
 
-	if (sprite->frame == 1) {
-		al = 0;
-		playchannel1();
-	}
+	if (data.byte(kThroughdoor) != 1 && data.byte(kLockstatus) == 1)
+		openDoor = false;
 
-	if (sprite->frame == 6) {
-		turnpathon(data.byte(kDoorpath));
-	}
+	if (openDoor) {
 
-	if ((data.byte(kThroughdoor) == 1) && (sprite->frame == 0)) {
-		sprite->frame = 6;
-	}
+		if (sprite->frame == 1) {
+			al = 0;
+			playchannel1();
+		}
 
-	++sprite->frame;
-	if (objData->b18[sprite->frame] == 255) {
-		--sprite->frame;
-	}
+		if (sprite->frame == 6)
+			turnpathon(data.byte(kDoorpath));
 
-	sprite->b15 = objData->index = objData->b18[sprite->frame];
-	if (sprite->frame == 5)
-		data.byte(kThroughdoor) = 1;
-	return;
+		if (data.byte(kThroughdoor) == 1 && sprite->frame == 0)
+			sprite->frame = 6;
 
-shutdoor2:
-	if (sprite->frame == 5) {
-		al = 1;
-		playchannel1();
-	}
+		++sprite->frame;
+		if (objData->b18[sprite->frame] == 255)
+			--sprite->frame;
 
-	if (sprite->frame != 0) {
-		--sprite->frame;
-	}
+		sprite->b15 = objData->index = objData->b18[sprite->frame];
+		if (sprite->frame == 5)
+			data.byte(kThroughdoor) = 1;
 
-	data.byte(kThroughdoor) = 0;
-	sprite->b15 = objData->index = objData->b18[sprite->frame];
+	} else {
+		// shut door
 
-	if (sprite->frame == 0) {
-		turnpathoff(data.byte(kDoorpath));
-		data.byte(kLockstatus) = 1;
+		if (sprite->frame == 5) {
+			al = 1;
+			playchannel1();
+		}
+
+		if (sprite->frame != 0)
+			--sprite->frame;
+	
+		data.byte(kThroughdoor) = 0;
+		sprite->b15 = objData->index = objData->b18[sprite->frame];
+
+		if (sprite->frame == 0) {
+			turnpathoff(data.byte(kDoorpath));
+			data.byte(kLockstatus) = 1;
+		}
 	}
 }
 






More information about the Scummvm-git-logs mailing list