[Scummvm-cvs-logs] scummvm master -> 31f9e96aeef546ab5d0bf829fe427ce98a62c40f

bluegr md5 at scummvm.org
Wed Jul 25 11:15:21 CEST 2012


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:
e7836beabb SCI: Silence some very chatty warnings
31f9e96aee SCI: Add a workaround for a script bug in QFG4


Commit: e7836beabb47c5415c6239cc1e344450b7bb3c8d
    https://github.com/scummvm/scummvm/commit/e7836beabb47c5415c6239cc1e344450b7bb3c8d
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2012-07-25T02:13:35-07:00

Commit Message:
SCI: Silence some very chatty warnings

Also, add an example room where kRemapToGray is called

Changed paths:
    engines/sci/engine/kgraphics32.cpp
    engines/sci/engine/ksound.cpp



diff --git a/engines/sci/engine/kgraphics32.cpp b/engines/sci/engine/kgraphics32.cpp
index d3db282..685b3c0 100644
--- a/engines/sci/engine/kgraphics32.cpp
+++ b/engines/sci/engine/kgraphics32.cpp
@@ -369,7 +369,8 @@ reg_t kScrollWindow(EngineState *s, int argc, reg_t *argv) {
 	case 10: // Where, called by ScrollableWindow::where
 		// TODO
 		// argv[2] is an unknown integer
-		kStub(s, argc, argv);
+		// Silenced the warnings because of the high amount of console spam
+		//kStub(s, argc, argv);
 		break;
 	case 11: // Go, called by ScrollableWindow::scrollTo
 		// 2 extra parameters here
@@ -770,7 +771,8 @@ reg_t kRemapColors32(EngineState *s, int argc, reg_t *argv) {
 		}
 		break;
 	case 3:	{ // remap to gray
-		int16 color = argv[1].toSint16();	// this is subtracted from a maximum color value, and can be offset by 10
+		// Example call: QFG4 room 490 (Baba Yaga's hut) - params are color 253, 75% and 0
+		int16 color = argv[1].toSint16();
 		int16 percent = argv[2].toSint16(); // 0 - 100
 		uint16 unk3 = (argc >= 4) ? argv[3].toUint16() : 0;
 		warning("kRemapColors: RemapToGray color %d by %d percent (unk3 = %d)", color, percent, unk3);
diff --git a/engines/sci/engine/ksound.cpp b/engines/sci/engine/ksound.cpp
index b378b4d..0633267 100644
--- a/engines/sci/engine/ksound.cpp
+++ b/engines/sci/engine/ksound.cpp
@@ -140,12 +140,14 @@ reg_t kDoAudio(EngineState *s, int argc, reg_t *argv) {
 			         ((argv[3].toUint16() & 0xff) << 16) |
 			         ((argv[4].toUint16() & 0xff) <<  8) |
 			          (argv[5].toUint16() & 0xff);
-			if (argc == 8) {
+			// Removed warning because of the high amount of console spam
+			/*if (argc == 8) {
+				// TODO: Handle the extra 2 SCI21 params
 				// argv[6] is always 1
 				// argv[7] is the contents of global 229 (0xE5)
 				warning("kDoAudio: Play called with SCI2.1 extra parameters: %04x:%04x and %04x:%04x",
 						PRINT_REG(argv[6]), PRINT_REG(argv[7]));
-			}
+			}*/
 		} else {
 			warning("kDoAudio: Play called with an unknown number of parameters (%d)", argc);
 			return NULL_REG;
@@ -244,6 +246,11 @@ reg_t kDoAudio(EngineState *s, int argc, reg_t *argv) {
 		// Used in Pharkas whenever a speech sample starts (takes no params)
 		//warning("kDoAudio: Unhandled case 13, %d extra arguments passed", argc - 1);
 		break;
+	case 17:
+		// Seems to be some sort of audio sync, used in SQ6. Silenced the
+		// warning due to the high level of spam it produces. (takes no params)
+		//warning("kDoAudio: Unhandled case 17, %d extra arguments passed", argc - 1);
+		break;
 	default:
 		warning("kDoAudio: Unhandled case %d, %d extra arguments passed", argv[0].toUint16(), argc - 1);
 	}


Commit: 31f9e96aeef546ab5d0bf829fe427ce98a62c40f
    https://github.com/scummvm/scummvm/commit/31f9e96aeef546ab5d0bf829fe427ce98a62c40f
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2012-07-25T02:14:33-07:00

Commit Message:
SCI: Add a workaround for a script bug in QFG4

Changed paths:
    engines/sci/engine/workarounds.cpp



diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp
index ccb7877..821549b 100644
--- a/engines/sci/engine/workarounds.cpp
+++ b/engines/sci/engine/workarounds.cpp
@@ -397,6 +397,7 @@ const SciWorkaroundEntry kUnLoad_workarounds[] = {
 	{ GID_LSL6,          740,   740,  0,        "showCartoon", "changeState",    -1,    0, { WORKAROUND_IGNORE, 0 } }, // during ending, 4 additional parameters are passed by accident
 	{ GID_LSL6HIRES,     130,   130,  0,    "recruitLarryScr", "changeState",    -1,    0, { WORKAROUND_IGNORE, 0 } }, // during intro, a 3rd parameter is passed by accident
 	{ GID_SQ1,            43,   303,  0,            "slotGuy", "dispose",        -1,    0, { WORKAROUND_IGNORE, 0 } }, // when leaving ulence flats bar, parameter 1 is not passed - script error
+	{ GID_QFG4,          770,   110,  0,            "dreamer", "dispose",        -1,    0, { WORKAROUND_IGNORE, 0 } }, // during the dream sequence, a 3rd parameter is passed by accident
 	SCI_WORKAROUNDENTRY_TERMINATOR
 };
 






More information about the Scummvm-git-logs mailing list