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

athrxx at users.sourceforge.net athrxx at users.sourceforge.net
Sun Oct 3 22:29:23 CEST 2010


Revision: 52999
          http://scummvm.svn.sourceforge.net/scummvm/?rev=52999&view=rev
Author:   athrxx
Date:     2010-10-03 20:29:22 +0000 (Sun, 03 Oct 2010)

Log Message:
-----------
SCUMM/FM-TOWNS: fix mouse cursor colors

Modified Paths:
--------------
    scummvm/trunk/engines/scumm/cursor.cpp

Modified: scummvm/trunk/engines/scumm/cursor.cpp
===================================================================
--- scummvm/trunk/engines/scumm/cursor.cpp	2010-10-03 18:44:07 UTC (rev 52998)
+++ scummvm/trunk/engines/scumm/cursor.cpp	2010-10-03 20:29:22 UTC (rev 52999)
@@ -560,6 +560,7 @@
 			colorPCEToRGB(default_pce_cursor_colors[idx], &r, &g, &b);
 			color = get16BitColor(r, g, b);
 		} else if (_game.platform == Common::kPlatformFMTowns) {
+			//uint8 tmp = (default_cursor_colors[idx] << 4) | default_cursor_colors[idx];
 			byte *palEntry = &_textPalette[default_cursor_colors[idx] * 3];
 			color = get16BitColor(palEntry[0], palEntry[1], palEntry[2]);
 		} else {
@@ -585,8 +586,17 @@
 			if (src[i] & (1 << j)) {
 				byte *dst1 = _grabbedCursor + 16 * scl * i * _textSurfaceMultiplier + (15 - j) * scl;
 				byte *dst2 = (_textSurfaceMultiplier == 2) ? dst1 + 16 * scl : dst1;
-				for (int b = 0; b < scl; b++)
-					*dst1++ = *dst2++ = color;
+				if (_bytesPerPixelOutput == 2) {
+					for (int b = 0; b < scl; b += 2) {
+						WRITE_LE_UINT16(dst1, color);
+						WRITE_LE_UINT16(dst2, color);
+						dst1 += 2;
+						dst2 += 2;
+					}
+				} else {
+					for (int b = 0; b < scl; b++)
+						*dst1++ = *dst2++ = color;
+				}
 			}
 		}
 	}


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