[Scummvm-cvs-logs] SF.net SVN: scummvm:[54348] scummvm/trunk/engines/sci/engine/scriptdebug. cpp

lskovlun at users.sourceforge.net lskovlun at users.sourceforge.net
Thu Nov 18 22:41:14 CET 2010


Revision: 54348
          http://scummvm.svn.sourceforge.net/scummvm/?rev=54348&view=rev
Author:   lskovlun
Date:     2010-11-18 21:41:13 +0000 (Thu, 18 Nov 2010)

Log Message:
-----------
SCI: Fix debugger disassembly of property accesses in SCI3

Modified Paths:
--------------
    scummvm/trunk/engines/sci/engine/scriptdebug.cpp

Modified: scummvm/trunk/engines/sci/engine/scriptdebug.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/scriptdebug.cpp	2010-11-18 21:38:00 UTC (rev 54347)
+++ scummvm/trunk/engines/sci/engine/scriptdebug.cpp	2010-11-18 21:41:13 UTC (rev 54348)
@@ -124,11 +124,13 @@
 
 		case Script_SByte:
 		case Script_Byte:
+			param_value = scr[retval.offset++];
 			debugN(" %02x", scr[retval.offset++]);
 			break;
 
 		case Script_Word:
 		case Script_SWord:
+			param_value = READ_SCI11ENDIAN_UINT16(&scr[retval.offset]);
 			debugN(" %04x", READ_SCI11ENDIAN_UINT16(&scr[retval.offset]));
 			retval.offset += 2;
 			break;
@@ -193,7 +195,12 @@
 			if (!obj)
 				warning("Attempted to reference on non-object at %04x:%04x", PRINT_REG(s->xs->objp));
 			else
-				debugN("	(%s)", g_sci->getKernel()->getSelectorName(obj->propertyOffsetToId(s->_segMan, scr[pos.offset + 1])).c_str());
+			{
+				if (getSciVersion() == SCI_VERSION_3)
+					debugN("	(%s)", g_sci->getKernel()->getSelectorName(param_value).c_str());
+				else
+					debugN("	(%s)", g_sci->getKernel()->getSelectorName(obj->propertyOffsetToId(s->_segMan, param_value)).c_str());
+			}
 		}
 	}
 


This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.




More information about the Scummvm-git-logs mailing list