From 3ab1f5f4cc6aa79e755fc9688202e2386b74cf92 Mon Sep 17 00:00:00 2001 From: Colin Snover Date: Thu, 16 Feb 2017 21:16:33 -0600 Subject: SCI: Display class names in disassembly --- engines/sci/engine/scriptdebug.cpp | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'engines/sci/engine/scriptdebug.cpp') diff --git a/engines/sci/engine/scriptdebug.cpp b/engines/sci/engine/scriptdebug.cpp index 971c721d6b..2dcf03b0d8 100644 --- a/engines/sci/engine/scriptdebug.cpp +++ b/engines/sci/engine/scriptdebug.cpp @@ -176,6 +176,14 @@ reg_t disassemble(EngineState *s, reg32_t pos, reg_t objAddr, bool printBWTag, b debugN("\t%s[%x],", (param_value < kernel->_kernelFuncs.size()) ? ((param_value < kernel->getKernelNamesSize()) ? kernel->getKernelName(param_value).c_str() : "[Unknown(postulated)]") : "", param_value); + } else if (opcode == op_class) { + const reg_t classAddr = s->_segMan->getClassAddress(param_value, SCRIPT_GET_DONT_LOAD, retval.getSegment()); + if (!classAddr.isNull()) { + debugN("\t%s", s->_segMan->getObjectName(classAddr)); + debugN(opsize ? "[%02x]" : "[%04x]", param_value); + } else { + debugN(opsize ? "\t%02x" : "\t%04x", param_value); + } } else if (opcode == op_super) { Object *obj; if (objAddr != NULL_REG && (obj = s->_segMan->getObject(objAddr)) != nullptr) { -- cgit v1.2.3