[Scummvm-cvs-logs] SF.net SVN: scummvm:[54188] scummvm/trunk/engines/sci

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Wed Nov 10 15:28:46 CET 2010


Revision: 54188
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54188&view=rev
Author:   thebluegr
Date:     2010-11-10 14:28:45 +0000 (Wed, 10 Nov 2010)

Log Message:
-----------
SCI3: Some changes
- Placed the SCI3 version detection in the proper place
- Some new types of SCI3 MT-32 patches (e.g. in the Lighthouse SCI3 demo) are
ignored, for now

Modified Paths:
--------------
    scummvm/trunk/engines/sci/resource.cpp
    scummvm/trunk/engines/sci/sound/drivers/midi.cpp

Modified: scummvm/trunk/engines/sci/resource.cpp
===================================================================
--- scummvm/trunk/engines/sci/resource.cpp	2010-11-10 14:06:39 UTC (rev 54187)
+++ scummvm/trunk/engines/sci/resource.cpp	2010-11-10 14:28:45 UTC (rev 54188)
@@ -2079,10 +2079,9 @@
 		} else if (!heaps->empty()) {
 			s_sciVersion = SCI_VERSION_2_1;
 			return;
-// Enable SCI3 games by uncommenting the below lines
-//		} else {
-//			s_sciVersion = SCI_VERSION_3;
-//			return;
+		} else {
+			s_sciVersion = SCI_VERSION_3;
+			return;
 		}
 	}
 
@@ -2170,9 +2169,6 @@
 	case kResVersionSci11:
 		s_sciVersion = SCI_VERSION_1_1;
 		return;
-	case kResVersionSci3:
-		s_sciVersion = SCI_VERSION_3;
-		return;
 	default:
 		s_sciVersion = SCI_VERSION_NONE;
 		error("detectSciVersion(): Unable to detect the game's SCI version");

Modified: scummvm/trunk/engines/sci/sound/drivers/midi.cpp
===================================================================
--- scummvm/trunk/engines/sci/sound/drivers/midi.cpp	2010-11-10 14:06:39 UTC (rev 54187)
+++ scummvm/trunk/engines/sci/sound/drivers/midi.cpp	2010-11-10 14:28:45 UTC (rev 54188)
@@ -893,10 +893,16 @@
 			res = resMan->findResource(ResourceId(kResourceTypePatch, 1), 0);
 
 			if (res) {
-				if (!isMt32GmPatch(res->data, res->size))
+				if (!isMt32GmPatch(res->data, res->size)) {
 					mapMt32ToGm(res->data, res->size);
-				else
-					error("MT-32 patch has wrong type");
+				} else {
+					if (getSciVersion() <= SCI_VERSION_2_1) {
+						error("MT-32 patch has wrong type");
+					} else {
+						// Happens in the SCI3 interactive demo of Lighthouse
+						warning("TODO: Ignoring new SCI3 type of MT-32 patch for now (size = %d)", res->size);
+					}
+				}
 			} else {
 				// No MT-32 patch present, try to read from MT32.DRV
 				Common::File f;


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list