[Scummvm-cvs-logs] SF.net SVN: scummvm:[43338] scummvm/trunk/engines/kyra/screen.cpp
lordhoto at users.sourceforge.net
lordhoto at users.sourceforge.net
Thu Aug 13 02:19:26 CEST 2009
Revision: 43338
http://scummvm.svn.sourceforge.net/scummvm/?rev=43338&view=rev
Author: lordhoto
Date: 2009-08-13 00:19:26 +0000 (Thu, 13 Aug 2009)
Log Message:
-----------
Little optimization in Screen::setPaletteIndex, now it only resets the palette, when the color index really changed.
Modified Paths:
--------------
scummvm/trunk/engines/kyra/screen.cpp
Modified: scummvm/trunk/engines/kyra/screen.cpp
===================================================================
--- scummvm/trunk/engines/kyra/screen.cpp 2009-08-13 00:07:37 UTC (rev 43337)
+++ scummvm/trunk/engines/kyra/screen.cpp 2009-08-13 00:19:26 UTC (rev 43338)
@@ -658,10 +658,18 @@
}
void Screen::setPaletteIndex(uint8 index, uint8 red, uint8 green, uint8 blue) {
- getPalette(0)[index * 3 + 0] = red;
- getPalette(0)[index * 3 + 1] = green;
- getPalette(0)[index * 3 + 2] = blue;
- setScreenPalette(getPalette(0));
+ Palette &pal = getPalette(0);
+
+ const int offset = index * 3;
+
+ if (pal[offset + 0] == red && pal[offset + 1] == green && pal[offset + 2] == blue)
+ return;
+
+ pal[offset + 0] = red;
+ pal[offset + 1] = green;
+ pal[offset + 2] = blue;
+
+ setScreenPalette(pal);
}
void Screen::getRealPalette(int num, uint8 *dst) {
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