aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorColin Snover2017-02-07 15:27:57 -0600
committerColin Snover2017-04-23 13:07:25 -0500
commit5c5e485ff0a48b4aee279ae746941339d881914c (patch)
tree2a252a92deccf6216b2df84695739ce98c4e4f99 /engines
parentd0a143fa87b88649aaff39b543218925e888025c (diff)
downloadscummvm-rg350-5c5e485ff0a48b4aee279ae746941339d881914c.tar.gz
scummvm-rg350-5c5e485ff0a48b4aee279ae746941339d881914c.tar.bz2
scummvm-rg350-5c5e485ff0a48b4aee279ae746941339d881914c.zip
SCI32: Improve debugging output of object metadata in SCI3
Diffstat (limited to 'engines')
-rw-r--r--engines/sci/console.cpp11
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/sci/console.cpp b/engines/sci/console.cpp
index c81d086241..b8e6097c06 100644
--- a/engines/sci/console.cpp
+++ b/engines/sci/console.cpp
@@ -4733,9 +4733,18 @@ int Console::printObject(reg_t pos) {
debugPrintf("[%04x:%04x] %s : %3d vars, %3d methods\n", PRINT_REG(pos), s->_segMan->getObjectName(pos),
obj->getVarCount(), obj->getMethodCount());
- if (!obj->isClass() && getSciVersion() != SCI_VERSION_3)
+ if (!obj->isClass())
var_container = s->_segMan->getObject(obj->getSuperClassSelector());
debugPrintf(" -- member variables:\n");
+
+ if (getSciVersion() == SCI_VERSION_3) {
+ debugPrintf(" (----) [---] -size- = 0000:%04x (%d)\n", obj->getVarCount(), obj->getVarCount());
+ debugPrintf(" (----) [---] -classScript- = %04x:%04x (%d)\n", PRINT_REG(obj->getClassScriptSelector()), obj->getClassScriptSelector().getOffset());
+ debugPrintf(" (----) [---] -species- = %04x:%04x (%s)\n", PRINT_REG(obj->getSpeciesSelector()), s->_segMan->getObjectName(obj->getSpeciesSelector()));
+ debugPrintf(" (----) [---] -super- = %04x:%04x (%s)\n", PRINT_REG(obj->getSuperClassSelector()), s->_segMan->getObjectName(obj->getSuperClassSelector()));
+ debugPrintf(" (----) [---] -info- = %04x:%04x (%d)\n", PRINT_REG(obj->getInfoSelector()), obj->getInfoSelector().getOffset());
+ }
+
for (i = 0; (uint)i < obj->getVarCount(); i++) {
debugPrintf(" ");
if (var_container && i < var_container->getVarCount()) {