aboutsummaryrefslogtreecommitdiff
path: root/kyra/screen.cpp
diff options
context:
space:
mode:
authorGregory Montoir2005-10-03 20:21:18 +0000
committerGregory Montoir2005-10-03 20:21:18 +0000
commit3bcb098fd31a0f68171fd4053f2600bb84814a5a (patch)
treef62249c1ee390eccf590de2b15ef22db509a5838 /kyra/screen.cpp
parentefa1c130640f4588ccdbba060448d53b51b26a86 (diff)
downloadscummvm-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.cpp8
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);