[Scummvm-cvs-logs] SF.net SVN: scummvm:[54455] scummvm/trunk/engines/sci
thebluegr at users.sourceforge.net
thebluegr at users.sourceforge.net
Wed Nov 24 12:57:12 CET 2010
Revision: 54455
http://scummvm.svn.sourceforge.net/scummvm/?rev=54455&view=rev
Author: thebluegr
Date: 2010-11-24 11:57:11 +0000 (Wed, 24 Nov 2010)
Log Message:
-----------
SCI: Some slight changes to get the "find_callk" console command working in KQ5
- Ignore invalid object in KQ5 script 784
- Script 980 looks to be an unused leftover, as its object contain references to
classes placed in script 988, which is missing
Modified Paths:
--------------
scummvm/trunk/engines/sci/console.cpp
scummvm/trunk/engines/sci/engine/script.cpp
Modified: scummvm/trunk/engines/sci/console.cpp
===================================================================
--- scummvm/trunk/engines/sci/console.cpp 2010-11-24 11:26:48 UTC (rev 54454)
+++ scummvm/trunk/engines/sci/console.cpp 2010-11-24 11:57:11 UTC (rev 54455)
@@ -2749,6 +2749,13 @@
SegManager *segMan = _engine->getEngineState()->_segMan;
while (itr != resources->end()) {
+ if (_engine->getGameId() == GID_KQ5 && itr->getNumber() == 980) {
+ // Ignore script 980 in KQ5. Seems to be a leftover, as it
+ // uses a superclass from script 988, which doesn't exist
+ itr++;
+ continue;
+ }
+
// Load script
scriptSegment = segMan->instantiateScript(itr->getNumber());
script = segMan->getScript(scriptSegment);
Modified: scummvm/trunk/engines/sci/engine/script.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/script.cpp 2010-11-24 11:26:48 UTC (rev 54454)
+++ scummvm/trunk/engines/sci/engine/script.cpp 2010-11-24 11:57:11 UTC (rev 54455)
@@ -596,10 +596,11 @@
obj->initSpecies(segMan, addr);
if (!obj->initBaseObject(segMan, addr)) {
- if (_nr == 202 && g_sci->getGameId() == GID_KQ5) {
+ 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 bug #3035396.
+ // Same happens with script 764, it seems to contain junk towards its end
} else {
error("Failed to locate base object for object at %04X:%04X; skipping", 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