diff options
Diffstat (limited to 'engines/sci/engine/scriptdebug.cpp')
-rw-r--r-- | engines/sci/engine/scriptdebug.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/engines/sci/engine/scriptdebug.cpp b/engines/sci/engine/scriptdebug.cpp index 2bb58d4ff2..bf6372bf8e 100644 --- a/engines/sci/engine/scriptdebug.cpp +++ b/engines/sci/engine/scriptdebug.cpp @@ -370,6 +370,8 @@ reg_t disassemble(EngineState *s, reg_t pos, const Object *obj, bool printBWTag, case kSelectorNone: debugN("INVALID"); break; + default: + break; } } @@ -938,6 +940,8 @@ void debugSelectorCall(reg_t send_obj, Selector selector, int argc, StackPtr arg } } break; + default: + break; } // switch } @@ -1039,7 +1043,7 @@ void logKernelCall(const KernelFunction *kernelCall, const KernelSubFunction *ke // TODO: Any other segment types which could // use special handling? - if (kernelCall->function == kSaid) { + if (kernelCall->function == &kSaid) { SegmentRef saidSpec = s->_segMan->dereference(argv[parmNr]); if (saidSpec.isRaw) { debugN(" ('"); @@ -1085,7 +1089,8 @@ void logBacktrace() { switch (call.type) { case EXEC_STACK_TYPE_CALL: // Normal function if (call.type == EXEC_STACK_TYPE_CALL) - con->debugPrintf(" %x: script %d - ", i, s->_segMan->getScript(call.addr.pc.getSegment())->getScriptNumber()); + con->debugPrintf(" %x: script %d - ", i, s->_segMan->getScript(call.addr.pc.getSegment())->getScriptNumber()); + if (call.debugSelector != -1) { con->debugPrintf("%s::%s(", objname, g_sci->getKernel()->getSelectorName(call.debugSelector).c_str()); } else if (call.debugExportId != -1) { |