aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/console.cpp
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2016-04-02 00:04:00 +0200
committerWillem Jan Palenstijn2016-07-02 21:25:53 +0200
commit08f1727b0813c9e20a2462402f58c4578c5902c8 (patch)
treee01580fe23784ebde32260f4a4fa4bb6f8ab16ed /engines/sci/console.cpp
parent9f2fff4f6614cd2ab11cf0d236ac553319e94702 (diff)
downloadscummvm-rg350-08f1727b0813c9e20a2462402f58c4578c5902c8.tar.gz
scummvm-rg350-08f1727b0813c9e20a2462402f58c4578c5902c8.tar.bz2
scummvm-rg350-08f1727b0813c9e20a2462402f58c4578c5902c8.zip
SCI: Improve kernel subfunction logging
ExecStack now stores the kernel call number as well as the subfunction. This allows kStub and backtraces to log the actual subfunction called. The kernel call number in ExecStack used to be stored in the debugSelector field. It now has its own field, to avoid confusion.
Diffstat (limited to 'engines/sci/console.cpp')
-rw-r--r--engines/sci/console.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/sci/console.cpp b/engines/sci/console.cpp
index 27ac4fac49..2c74fe4b0c 100644
--- a/engines/sci/console.cpp
+++ b/engines/sci/console.cpp
@@ -3094,7 +3094,10 @@ bool Console::cmdBacktrace(int argc, const char **argv) {
break;
case EXEC_STACK_TYPE_KERNEL: // Kernel function
- debugPrintf(" %x:[%x] k%s(", i, call.debugOrigin, _engine->getKernel()->getKernelName(call.debugSelector).c_str());
+ if (call.debugKernelSubFunction == -1)
+ debugPrintf(" %x:[%x] k%s(", i, call.debugOrigin, _engine->getKernel()->getKernelName(call.debugKernelFunction).c_str());
+ else
+ debugPrintf(" %x:[%x] k%s(", i, call.debugOrigin, _engine->getKernel()->getKernelName(call.debugKernelFunction, call.debugKernelSubFunction).c_str());
break;
case EXEC_STACK_TYPE_VARSELECTOR: