[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