diff options
author | Filippos Karapetis | 2010-07-26 07:55:50 +0000 |
---|---|---|
committer | Filippos Karapetis | 2010-07-26 07:55:50 +0000 |
commit | 8d04588880548ef25102f15343ad970f274f6e09 (patch) | |
tree | 54811fee56b33cb8ebcfa01508f39afeb0d4c030 | |
parent | a278e01998aeda10d22b6edb1e9be23c81abf033 (diff) | |
download | scummvm-rg350-8d04588880548ef25102f15343ad970f274f6e09.tar.gz scummvm-rg350-8d04588880548ef25102f15343ad970f274f6e09.tar.bz2 scummvm-rg350-8d04588880548ef25102f15343ad970f274f6e09.zip |
SCI: Added room number to signature mismatch errors
svn-id: r51303
-rw-r--r-- | engines/sci/engine/vm.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp index d672f9b10f..b1cdc8aa76 100644 --- a/engines/sci/engine/vm.cpp +++ b/engines/sci/engine/vm.cpp @@ -704,7 +704,9 @@ static void callKernelFunc(EngineState *s, int kernelCallNr, int argc) { switch (solution.type) { case WORKAROUND_NONE: kernel->signatureDebug(kernelCall.signature, argc, argv); - error("[VM] k%s[%x]: signature mismatch via method %s::%s (script %d, localCall %x)", kernelCall.name, kernelCallNr, originReply.objectName.c_str(), originReply.methodName.c_str(), originReply.scriptNr, originReply.localCallOffset); + error("[VM] k%s[%x]: signature mismatch via method %s::%s (script %d, room %d, localCall %x)", + kernelCall.name, kernelCallNr, originReply.objectName.c_str(), originReply.methodName.c_str(), + originReply.scriptNr, s->currentRoomNumber(), originReply.localCallOffset); break; case WORKAROUND_IGNORE: // don't do kernel call, leave acc alone return; @@ -749,9 +751,13 @@ static void callKernelFunc(EngineState *s, int kernelCallNr, int argc) { int callNameLen = strlen(kernelCall.name); if (strncmp(kernelCall.name, kernelSubCall.name, callNameLen) == 0) { const char *subCallName = kernelSubCall.name + callNameLen; - error("[VM] k%s(%s): signature mismatch via method %s::%s (script %d, localCall %x)", kernelCall.name, subCallName, originReply.objectName.c_str(), originReply.methodName.c_str(), originReply.scriptNr, originReply.localCallOffset); + error("[VM] k%s(%s): signature mismatch via method %s::%s (script %d, room %d, localCall %x)", + kernelCall.name, subCallName, originReply.objectName.c_str(), originReply.methodName.c_str(), + originReply.scriptNr, s->currentRoomNumber(), originReply.localCallOffset); } - error("[VM] k%s: signature mismatch via method %s::%s (script %d, localCall %x)", kernelSubCall.name, originReply.objectName.c_str(), originReply.methodName.c_str(), originReply.scriptNr, originReply.localCallOffset); + error("[VM] k%s: signature mismatch via method %s::%s (script %d, room %d, localCall %x)", + kernelSubCall.name, originReply.objectName.c_str(), originReply.methodName.c_str(), + originReply.scriptNr, s->currentRoomNumber(), originReply.localCallOffset); break; } case WORKAROUND_IGNORE: // don't do kernel call, leave acc alone |