[Scummvm-cvs-logs] SF.net SVN: scummvm: [20662] residual/trunk/blocky16.cpp

marcus_c at users.sourceforge.net marcus_c at users.sourceforge.net
Sun Feb 12 16:25:03 CET 2006


Revision: 20662
Author:   marcus_c
Date:     2006-02-12 16:24:06 -0800 (Sun, 12 Feb 2006)
ViewCVS:  http://svn.sourceforge.net/scummvm?rev=20662&view=rev

Log Message:
-----------
Added support for systems which require alignment, but are little endian.
Probably there should be some support for system which are big endian
but don't require alignment, as well...

Modified Paths:
--------------
    residual/trunk/blocky16.cpp
Modified: residual/trunk/blocky16.cpp
===================================================================
--- residual/trunk/blocky16.cpp	2006-02-13 00:08:38 UTC (rev 20661)
+++ residual/trunk/blocky16.cpp	2006-02-13 00:24:06 UTC (rev 20662)
@@ -30,6 +30,8 @@
 		(dst)[3] = (src)[3];	\
 	} while (0)
 
+#if defined(SYSTEM_BIG_ENDIAN)
+
 #define WRITE_2X1_LINE(dst, v)		\
 	do {				\
 		(dst)[0] = (byte)((v >> 8) & 0xFF);	\
@@ -44,6 +46,24 @@
 		(dst)[3] = (byte)((v >>  0) & 0xFF);	\
 	} while (0)
 
+#else /* SYSTEM_BIG_ENDIAN */
+
+#define WRITE_2X1_LINE(dst, v)		\
+	do {				\
+		(dst)[0] = (byte)((v >> 0) & 0xFF);	\
+		(dst)[1] = (byte)((v >> 8) & 0xFF);	\
+	} while (0)
+
+#define WRITE_4X1_LINE(dst, v)		\
+	do {				\
+		(dst)[0] = (byte)((v >>  0) & 0xFF);	\
+		(dst)[1] = (byte)((v >>  8) & 0XFF);	\
+		(dst)[2] = (byte)((v >> 16) & 0xFF);	\
+		(dst)[3] = (byte)((v >> 24) & 0xFF);	\
+	} while (0)
+
+#endif
+
 #else /* SYSTEM_NEED_ALIGNMENT */
 
 #define COPY_4X1_LINE(dst, src)			\







More information about the Scummvm-git-logs mailing list