[Scummvm-cvs-logs] SF.net SVN: scummvm:[49670] tools/branches/gsoc2010-decompiler/decompiler

pidgeot at users.sourceforge.net pidgeot at users.sourceforge.net
Mon Jun 14 22:46:20 CEST 2010


Revision: 49670
          http://scummvm.svn.sourceforge.net/scummvm/?rev=49670&view=rev
Author:   pidgeot
Date:     2010-06-14 20:46:19 +0000 (Mon, 14 Jun 2010)

Log Message:
-----------
Fix off-by-one error in Scumm::v6::Disassembler::fixStackEffect
Add stack effect of instruction to graph output
Crashes on at least one script (samnmax/script-30.dmp) - working on it

Modified Paths:
--------------
    tools/branches/gsoc2010-decompiler/decompiler/graph.h
    tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.cpp

Modified: tools/branches/gsoc2010-decompiler/decompiler/graph.h
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/graph.h	2010-06-14 20:45:00 UTC (rev 49669)
+++ tools/branches/gsoc2010-decompiler/decompiler/graph.h	2010-06-14 20:46:19 UTC (rev 49670)
@@ -78,7 +78,7 @@
 							output << *it;
 				}
 			}
-			output << "\\n";			
+			output << boost::format(" (%d)") % inst->_stackChange << "\\n";	
 		} while (inst++ != group._end);
 		return output;
 	}

Modified: tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.cpp
===================================================================
--- tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.cpp	2010-06-14 20:45:00 UTC (rev 49669)
+++ tools/branches/gsoc2010-decompiler/decompiler/scummv6/disassembler.cpp	2010-06-14 20:46:19 UTC (rev 49670)
@@ -431,7 +431,7 @@
 	for (--it2; popBefore != 0; --it2)
 		if (it2->_type == kLoad)
 			--popBefore;
-	it->_stackChange -= it2->_params[0].getSigned();
+	it->_stackChange -= it2->_params[0].getSigned() + 1;
 }
 
 void Scumm::v6::Disassembler::readParameter(Parameter *p, char type) {


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