diff options
author | Gregory Montoir | 2005-10-03 20:21:18 +0000 |
---|---|---|
committer | Gregory Montoir | 2005-10-03 20:21:18 +0000 |
commit | 3bcb098fd31a0f68171fd4053f2600bb84814a5a (patch) | |
tree | f62249c1ee390eccf590de2b15ef22db509a5838 /kyra/screen.cpp | |
parent | efa1c130640f4588ccdbba060448d53b51b26a86 (diff) | |
download | scummvm-rg350-3bcb098fd31a0f68171fd4053f2600bb84814a5a.tar.gz scummvm-rg350-3bcb098fd31a0f68171fd4053f2600bb84814a5a.tar.bz2 scummvm-rg350-3bcb098fd31a0f68171fd4053f2600bb84814a5a.zip |
committed patch #1312156 'Various sprite-related things'. Thanks Oystein Eftevaag/vinterstum
svn-id: r18930
Diffstat (limited to 'kyra/screen.cpp')
-rw-r--r-- | kyra/screen.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/kyra/screen.cpp b/kyra/screen.cpp index 28f61bfbd7..2bb2759663 100644 --- a/kyra/screen.cpp +++ b/kyra/screen.cpp @@ -224,6 +224,14 @@ void Screen::copyRegion(int x1, int y1, int x2, int y2, int w, int h, int srcPag } } +void Screen::copyRegionToBuffer(int pageNum, int x, int y, int w, int h, uint8 *dest) { + assert(x >= 0 && x < Screen::SCREEN_W && y >= 0 && y < Screen::SCREEN_H && dest); + uint8 *pagePtr = getPagePtr(pageNum); + for (int i = y; i < y + h; i++) { + memcpy(dest + (i - y) * w, pagePtr + i * SCREEN_W + x, w); + } +} + void Screen::copyBlockToPage(int pageNum, int x, int y, int w, int h, const uint8 *src) { debug(9, "Screen::copyBlockToPage(%d, %d, %d, %d, %d, 0x%X)", pageNum, x, y, w, h, src); assert(x >= 0 && x < Screen::SCREEN_W && y >= 0 && y < Screen::SCREEN_H); |