mirror of
https://github.com/libretro/scummvm.git
synced 2024-12-16 06:39:17 +00:00
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 svn-id: r54455
This commit is contained in:
parent
332a438ccf
commit
7fc171e3bc
@ -2749,6 +2749,13 @@ bool Console::cmdFindKernelFunctionCall(int argc, const char **argv) {
|
||||
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);
|
||||
|
@ -596,10 +596,11 @@ void Script::initialiseObjectsSci0(SegManager *segMan, SegmentId segmentId) {
|
||||
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));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user