aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2010-06-28 11:21:07 +0000
committerMax Horn2010-06-28 11:21:07 +0000
commit793d482f4fccd8999d71c9a0dbed518216cbb6ac (patch)
tree62c78f196c1372e8bc25e763800c8366c37711fc
parent7e0240ab14d29401877ff0c4d827be859e13ea58 (diff)
downloadscummvm-rg350-793d482f4fccd8999d71c9a0dbed518216cbb6ac.tar.gz
scummvm-rg350-793d482f4fccd8999d71c9a0dbed518216cbb6ac.tar.bz2
scummvm-rg350-793d482f4fccd8999d71c9a0dbed518216cbb6ac.zip
SCI: Optimized GfxScreen::scale2x a bit
svn-id: r50424
-rw-r--r--engines/sci/graphics/screen.cpp15
1 files changed, 8 insertions, 7 deletions
diff --git a/engines/sci/graphics/screen.cpp b/engines/sci/graphics/screen.cpp
index fa1f7019fd..a86f64c44f 100644
--- a/engines/sci/graphics/screen.cpp
+++ b/engines/sci/graphics/screen.cpp
@@ -594,18 +594,19 @@ void GfxScreen::debugShowMap(int mapNo) {
}
void GfxScreen::scale2x(const byte *src, byte *dst, int16 srcWidth, int16 srcHeight) {
- int newWidth = srcWidth * 2;
+ const int newWidth = srcWidth * 2;
const byte *srcPtr = src;
for (int y = 0; y < srcHeight; y++) {
for (int x = 0; x < srcWidth; x++) {
- int destOffset = y * 2 * newWidth + x * 2;
- dst[destOffset] = *srcPtr;
- dst[destOffset + 1] = *srcPtr;
- dst[destOffset + newWidth] = *srcPtr;
- dst[destOffset + newWidth + 1] = *srcPtr;
- srcPtr++;
+ const byte color = *srcPtr++;
+ dst[0] = color;
+ dst[1] = color;
+ dst[newWidth] = color;
+ dst[newWidth + 1] = color;
+ dst += 2;
}
+ dst += srcWidth;
}
}