[Scummvm-cvs-logs] SF.net SVN: scummvm:[51423] scummvm/trunk/engines/sci/resource.cpp
mthreepwood at users.sourceforge.net
mthreepwood at users.sourceforge.net
Wed Jul 28 17:34:35 CEST 2010
Revision: 51423
http://scummvm.svn.sourceforge.net/scummvm/?rev=51423&view=rev
Author: mthreepwood
Date: 2010-07-28 15:34:34 +0000 (Wed, 28 Jul 2010)
Log Message:
-----------
SCI: Fix bug #3035737 - SCI Fan Games: Incorrect Version Detection
If we have a vocab 900 resource with the new decompressors, it can also be SCI0 late. If there is no parser vocab (with new decompressors), it is SCI1 early.
Modified Paths:
--------------
scummvm/trunk/engines/sci/resource.cpp
Modified: scummvm/trunk/engines/sci/resource.cpp
===================================================================
--- scummvm/trunk/engines/sci/resource.cpp 2010-07-28 14:57:35 UTC (rev 51422)
+++ scummvm/trunk/engines/sci/resource.cpp 2010-07-28 15:34:34 UTC (rev 51423)
@@ -1938,14 +1938,18 @@
return;
}
- // New decompressors. It's either SCI_VERSION_1_EGA or SCI_VERSION_1_EARLY.
- if (hasSci1Voc900()) {
- s_sciVersion = SCI_VERSION_1_EGA;
- return;
+ // New decompressors. It's either SCI_VERSION_0_LATE, SCI_VERSION_1_EGA or SCI_VERSION_1_EARLY.
+ if (testResource(ResourceId(kResourceTypeVocab, 900))) {
+ if (hasSci1Voc900()) {
+ s_sciVersion = SCI_VERSION_1_EGA;
+ return;
+ } else {
+ s_sciVersion = SCI_VERSION_0_LATE;
+ return;
+ }
}
- // SCI_VERSION_1_EARLY EGA versions seem to be lacking a valid vocab.900.
- // If this turns out to be unreliable, we could do some pic resource checks instead.
+ // SCI_VERSION_1_EARLY EGA versions lack the parser vocab
s_sciVersion = SCI_VERSION_1_EARLY;
return;
case kResVersionSci1Middle:
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