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

wjpalenstijn at users.sourceforge.net wjpalenstijn at users.sourceforge.net
Sat Oct 3 23:27:01 CEST 2009


Revision: 44572
          http://scummvm.svn.sourceforge.net/scummvm/?rev=44572&view=rev
Author:   wjpalenstijn
Date:     2009-10-03 21:27:01 +0000 (Sat, 03 Oct 2009)

Log Message:
-----------
SCI: Fix sign issue in stringfrags

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

Modified: scummvm/trunk/engines/sci/engine/seg_manager.cpp
===================================================================
--- scummvm/trunk/engines/sci/engine/seg_manager.cpp	2009-10-03 21:27:00 UTC (rev 44571)
+++ scummvm/trunk/engines/sci/engine/seg_manager.cpp	2009-10-03 21:27:01 UTC (rev 44572)
@@ -891,10 +891,10 @@
 		while (n > 0) {
 			d->segment = 0; // STRINGFRAG_SEGMENT?
 			if (n > 1 && src[0]) {
-				d->offset = src[0] | (src[1] << 8);
+				d->offset = (src[0] & 0x00ff)  | (src[1] << 8);
 			} else {
 				d->offset &= 0xff00;
-				d->offset |= src[0];
+				d->offset |= src[0] & 0x00ff;
 				break;
 			}
 
@@ -994,10 +994,10 @@
 		while (n > 0) {
 			d->segment = 0; // STRINGFRAG_SEGMENT?
 			if (n > 1) {
-				d->offset = src[0] | (src[1] << 8);
+				d->offset = (src[0] & 0x00ff) | (src[1] << 8);
 			} else {
 				d->offset &= 0xff00;
-				d->offset |= src[0];
+				d->offset |= src[0] & 0x00ff;
 				break;
 			}
 			src += 2;


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