[Scummvm-cvs-logs] scummvm master -> 55e508b91f840cd4f6358d1a1ff192b16ab1338c

bluegr md5 at scummvm.org
Wed Jul 25 00:34:49 CEST 2012


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:
55e508b91f SCI: Add a workaround for QFG4, screen 140 (character selection screen)


Commit: 55e508b91f840cd4f6358d1a1ff192b16ab1338c
    https://github.com/scummvm/scummvm/commit/55e508b91f840cd4f6358d1a1ff192b16ab1338c
Author: Filippos Karapetis (md5 at scummvm.org)
Date: 2012-07-24T15:32:34-07:00

Commit Message:
SCI: Add a workaround for QFG4, screen 140 (character selection screen)

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



diff --git a/engines/sci/engine/kgraphics32.cpp b/engines/sci/engine/kgraphics32.cpp
index 3d2c2af..d3db282 100644
--- a/engines/sci/engine/kgraphics32.cpp
+++ b/engines/sci/engine/kgraphics32.cpp
@@ -738,6 +738,12 @@ reg_t kRemapColors32(EngineState *s, int argc, reg_t *argv) {
 
 	switch (operation) {
 	case 0:	{ // turn remapping off
+		// WORKAROUND: Game scripts in QFG4 erroneously turn remapping off in room
+		// 140 (the character point allocation screen) and never turn it back on,
+		// even if it's clearly used in that screen.
+		if (g_sci->getGameId() == GID_QFG4 && s->currentRoomNumber() == 140)
+			return s->r_acc;
+
 		int16 base = (argc >= 2) ? argv[1].toSint16() : 0;
 		if (base > 0)
 			warning("kRemapColors(0) called with base %d", base);






More information about the Scummvm-git-logs mailing list