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

m_kiewitz at users.sourceforge.net m_kiewitz at users.sourceforge.net
Fri Jun 25 19:59:48 CEST 2010


Revision: 50278
          http://scummvm.svn.sourceforge.net/scummvm/?rev=50278&view=rev
Author:   m_kiewitz
Date:     2010-06-25 17:59:48 +0000 (Fri, 25 Jun 2010)

Log Message:
-----------
SCI: changing workaround results for opcodes from signal_reg to make_reg(0, 1)

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

Modified: scummvm/trunk/engines/sci/engine/vm.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/vm.cpp	2010-06-25 17:25:00 UTC (rev 50277)
+++ scummvm/trunk/engines/sci/engine/vm.cpp	2010-06-25 17:59:48 UTC (rev 50278)
@@ -1029,7 +1029,7 @@
 					error("[VM] op_gt: comparsion between a pointer and number");
 				// Pseudo-WORKAROUND: sierra allows any pointer <-> value comparsion
 				// Happens in SQ1, room 28, when throwing the water at Orat
-				s->r_acc = SIGNAL_REG;
+				s->r_acc = make_reg(0, 1);
 			} else
 				s->r_acc = ACC_ARITHMETIC_L(signed_validate_arithmetic(r_temp) > (int16)/*acc*/);
 			break;
@@ -1082,7 +1082,7 @@
 			// It works because in those games, the maximum resource number is 999, 
 			// so any parameter value above that threshold must be a pointer. 
 			if (r_temp.segment && (s->r_acc == make_reg(0, 1000)))
-				s->r_acc = SIGNAL_REG;
+				s->r_acc = make_reg(0, 1);
 			else if (r_temp.segment && s->r_acc.segment)
 				s->r_acc = make_reg(0, (r_temp.segment == s->r_acc.segment) && r_temp.offset > s->r_acc.offset);
 			else


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