diff options
| author | Max Horn | 2010-06-28 11:21:07 +0000 |
|---|---|---|
| committer | Max Horn | 2010-06-28 11:21:07 +0000 |
| commit | 793d482f4fccd8999d71c9a0dbed518216cbb6ac (patch) | |
| tree | 62c78f196c1372e8bc25e763800c8366c37711fc | |
| parent | 7e0240ab14d29401877ff0c4d827be859e13ea58 (diff) | |
| download | scummvm-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.cpp | 15 |
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; } } |
