[Scummvm-cvs-logs] SF.net SVN: scummvm: [21342] scummvm/trunk/engines/scumm/akos.cpp

kirben at users.sourceforge.net kirben at users.sourceforge.net
Thu Mar 16 17:47:08 CET 2006


Revision: 21342
Author:   kirben
Date:     2006-03-16 17:46:36 -0800 (Thu, 16 Mar 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm/?rev=21342&view=rev

Log Message:
-----------
Fix endian issues in akos costume code

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/akos.cpp
Modified: scummvm/trunk/engines/scumm/akos.cpp
===================================================================
--- scummvm/trunk/engines/scumm/akos.cpp	2006-03-17 00:30:58 UTC (rev 21341)
+++ scummvm/trunk/engines/scumm/akos.cpp	2006-03-17 01:46:36 UTC (rev 21342)
@@ -386,7 +386,7 @@
 
 	code = p[0];
 	if (code & 0x80)
-		code = (code << 8) | p[1];
+		code = READ_BE_UINT16(p);
 
 	if (code == AKC_C021 || code == AKC_C022) {
 		uint16 s = cost.curpos[limb] + 4;
@@ -448,8 +448,8 @@
 		for (i = 0; i != extra; i++) {
 			code = p[4];
 			if (code & 0x80)
-				code = ((code & 0xF) << 8) | (p[5] & 0xFFF);
-			off = akof + code;
+				code = READ_BE_UINT16(p + 4);
+			off = akof + (code & 0xFFF);
 
 			_srcptr = akcd + READ_LE_UINT32(&off->akcd);
 			costumeInfo = (const CostumeInfo *) (akci + READ_LE_UINT16(&off->akci));
@@ -1377,7 +1377,7 @@
 
 		code = aksq[curpos];
 		if (code & 0x80)
-			code = (code << 8) | aksq[curpos + 1];
+			code = READ_BE_UINT16(aksq + curpos);
 
 		switch (active) {
 		case 6:
@@ -1492,7 +1492,7 @@
 
 		code = aksq[curpos];
 		if (code & 0x80)
-			code = (code << 8) | aksq[curpos + 1];
+			code = READ_BE_UINT16(aksq + curpos);
 
 		if (flag_value && code != AKC_ClearFlag)
 			continue;


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