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

thebluegr at users.sourceforge.net thebluegr at users.sourceforge.net
Mon Mar 30 23:41:29 CEST 2009


Revision: 39768
          http://scummvm.svn.sourceforge.net/scummvm/?rev=39768&view=rev
Author:   thebluegr
Date:     2009-03-30 21:41:29 +0000 (Mon, 30 Mar 2009)

Log Message:
-----------
This should really fix the issues with vobab.999/999.voc in SCI1 games (e.g. KQ5)

Modified Paths:
--------------
    scummvm/trunk/engines/sci/scicore/resource.cpp
    scummvm/trunk/engines/sci/scicore/vocab_debug.cpp

Modified: scummvm/trunk/engines/sci/scicore/resource.cpp
===================================================================
--- scummvm/trunk/engines/sci/scicore/resource.cpp	2009-03-30 21:04:19 UTC (rev 39767)
+++ scummvm/trunk/engines/sci/scicore/resource.cpp	2009-03-30 21:41:29 UTC (rev 39768)
@@ -901,10 +901,7 @@
 			// SCI1 scheme
 			if (isdigit(name[0])) {
 				number = atoi(name.c_str());
-				// vocab.999/999.voc is notoriously unreliable in SCI1 games, and should not be used
-				// Also check vocabulary_get_knames1()
-				if (number != VOCAB_RESOURCE_KNAMES)
-					bAdd = true;
+				bAdd = true;
 			} else {
 				// SCI0 scheme
 				int resname_len = strlen(szResType);

Modified: scummvm/trunk/engines/sci/scicore/vocab_debug.cpp
===================================================================
--- scummvm/trunk/engines/sci/scicore/vocab_debug.cpp	2009-03-30 21:04:19 UTC (rev 39767)
+++ scummvm/trunk/engines/sci/scicore/vocab_debug.cpp	2009-03-30 21:41:29 UTC (rev 39768)
@@ -562,9 +562,14 @@
 	switch (resmgr->_sciVersion) {
 	case SCI_VERSION_0:
 	case SCI_VERSION_01:
+		return vocabulary_get_knames0(resmgr, count);
 	case SCI_VERSION_01_VGA:
 	case SCI_VERSION_01_VGA_ODD:
-		return vocabulary_get_knames0(resmgr, count);
+		// HACK: KQ5 needs the SCI1 default vocabulary names to work correctly.
+		// Having more vocabulary names (like in SCI1) doesn't seem to have any
+		// ill effects, other than resulting in unmapped functions towards the
+		// end, which are never used by the game interpteter anyway
+		// return vocabulary_get_knames0(resmgr, count);
 	case SCI_VERSION_1_EARLY:
 	case SCI_VERSION_1_LATE:
 		return vocabulary_get_knames1(resmgr, count);


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