[Scummvm-cvs-logs] scummvm master -> 47a7b65dc149149ff00baacf9fa76ce0fcaedfd2

fingolfin max at quendi.de
Sat May 14 16:32:02 CEST 2011


This automated email contains information about 2 new commits which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
dc85f5c473 SCUMM: Show actor visible height in debugger
47a7b65dc1 SCUMM: Workaround bug #1463598 (INDY3VGA: giant Henry Jones sr.)


Commit: dc85f5c473bebc59378dad5f99dede059d68c59d
    https://github.com/scummvm/scummvm/commit/dc85f5c473bebc59378dad5f99dede059d68c59d
Author: Max Horn (max at quendi.de)
Date: 2011-05-14T07:30:30-07:00

Commit Message:
SCUMM: Show actor visible height in debugger

Changed paths:
    engines/scumm/debugger.cpp



diff --git a/engines/scumm/debugger.cpp b/engines/scumm/debugger.cpp
index 205b7a4..9cfdfbc 100644
--- a/engines/scumm/debugger.cpp
+++ b/engines/scumm/debugger.cpp
@@ -399,14 +399,15 @@ bool ScummDebugger::Cmd_PrintActor(int argc, const char **argv) {
 	int i;
 	Actor *a;
 
-	DebugPrintf("+-----------------------------------------------------------+\n");
-	DebugPrintf("|# |  x |  y | w |elev|cos|box|mov| zp|frm|scl|dir|   cls   |\n");
-	DebugPrintf("+--+----+----+---+----+---+---+---+---+---+---+---+---------+\n");
+	DebugPrintf("+---------------------------------------------------------------+\n");
+	DebugPrintf("|# |  x |  y | w | h |elev|cos|box|mov| zp|frm|scl|dir|   cls   |\n");
+	DebugPrintf("+--+----+----+---+---+----+---+---+---+---+---+---+---+---------+\n");
 	for (i = 1; i < _vm->_numActors; i++) {
 		a = _vm->_actors[i];
 		if (a->_visible)
-			DebugPrintf("|%2d|%4d|%4d|%3d|%4d|%3d|%3d|%3d|%3d|%3d|%3d|%3d|$%08x|\n",
-						 a->_number, a->getRealPos().x, a->getRealPos().y, a->_width, a->getElevation(),
+			DebugPrintf("|%2d|%4d|%4d|%3d|%3d|%4d|%3d|%3d|%3d|%3d|%3d|%3d|%3d|$%08x|\n",
+						 a->_number, a->getRealPos().x, a->getRealPos().y, a->_width,  a->_bottom - a->_top,
+						 a->getElevation(),
 						 a->_costume, a->_walkbox, a->_moving, a->_forceClip, a->_frame,
 						 a->_scalex, a->getFacing(), _vm->_classData[a->_number]);
 	}


Commit: 47a7b65dc149149ff00baacf9fa76ce0fcaedfd2
    https://github.com/scummvm/scummvm/commit/47a7b65dc149149ff00baacf9fa76ce0fcaedfd2
Author: Max Horn (max at quendi.de)
Date: 2011-05-14T07:30:31-07:00

Commit Message:
SCUMM: Workaround bug #1463598 (INDY3VGA: giant Henry Jones sr.)

Changed paths:
    engines/scumm/actor.cpp



diff --git a/engines/scumm/actor.cpp b/engines/scumm/actor.cpp
index 32d1af0..25a26f6 100644
--- a/engines/scumm/actor.cpp
+++ b/engines/scumm/actor.cpp
@@ -174,9 +174,21 @@ void Actor::setBox(int box) {
 }
 
 void Actor_v3::setupActorScale() {
-	// TODO: The following could probably be removed
-	_scalex = 0xFF;
-	_scaley = 0xFF;
+	// WORKAROUND bug #1463598: Under certain circumstances, it is possible
+	// for Henry Sr. to reach the front side of Castle Brunwald (following
+	// Indy there). But it seems the game has no small costume for Henry,
+	// hence he is shown as a giant, triple in size compared to Indy.
+	// To workaround this, we override the scale of Henry. Since V3 games
+	// like Indy3 don't use the costume scale otherwise, this works fine.
+	// The scale factor 0x50 was determined by some guess work.
+	if (_number == 2 && _costume == 7 && _vm->_game.id == GID_INDY3 && _vm->_currentRoom == 12) {
+		_scalex = 0x50;
+		_scaley = 0x50;
+	} else {
+		// TODO: The following could probably be removed
+		_scalex = 0xFF;
+		_scaley = 0xFF;
+	}
 }
 
 void Actor::setupActorScale() {






More information about the Scummvm-git-logs mailing list