[Scummvm-cvs-logs] SF.net SVN: scummvm:[55122] scummvm/trunk/engines/sci/engine/script.cpp
thebluegr at users.sourceforge.net
thebluegr at users.sourceforge.net
Wed Jan 5 00:11:19 CET 2011
Revision: 55122
http://scummvm.svn.sourceforge.net/scummvm/?rev=55122&view=rev
Author: thebluegr
Date: 2011-01-04 23:11:19 +0000 (Tue, 04 Jan 2011)
Log Message:
-----------
SCI: Fixed part of bug #3150767 - "KQ5 French crash on startup, only partial English text"
This is a regression from r54510
Modified Paths:
--------------
scummvm/trunk/engines/sci/engine/script.cpp
Modified: scummvm/trunk/engines/sci/engine/script.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/script.cpp 2011-01-04 21:45:09 UTC (rev 55121)
+++ scummvm/trunk/engines/sci/engine/script.cpp 2011-01-04 23:11:19 UTC (rev 55122)
@@ -588,8 +588,20 @@
if (pass == 2) {
if (!obj->initBaseObject(segMan, addr)) {
- error("Failed to locate base object for object at %04X:%04X", PRINT_REG(addr));
- //scriptObjRemove(addr);
+ if ((_nr == 202 || _nr == 764) && g_sci->getGameId() == GID_KQ5) {
+ // WORKAROUND: Script 202 of KQ5 French and German
+ // (perhaps Spanish too?) has an invalid object.
+ // This is non-fatal. Refer to bugs #3035396 and
+ // #3150767.
+ // Same happens with script 764, it seems to
+ // contain junk towards its end.
+ if (getSciVersion() < SCI_VERSION_1_1)
+ addr.offset += 8;
+
+ _objects.erase(addr.toUint16());
+ } else {
+ error("Failed to locate base object for object at %04X:%04X", PRINT_REG(addr));
+ }
}
}
}
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